{"id":22493541,"url":"https://github.com/ri0t/forage","last_synced_at":"2025-03-27T20:45:45.994Z","repository":{"id":147301852,"uuid":"161051425","full_name":"ri0t/forage","owner":"ri0t","description":"A simple tool to execute commands on given folders.","archived":false,"fork":false,"pushed_at":"2020-05-27T19:10:36.000Z","size":9,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T23:18:30.034Z","etag":null,"topics":["command-line","management","multi-repo","tool"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ri0t.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-09T15:08:22.000Z","updated_at":"2022-06-11T02:22:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"7d49ac74-ebd2-4f23-a7a4-ee4532044649","html_url":"https://github.com/ri0t/forage","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ri0t%2Fforage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ri0t%2Fforage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ri0t%2Fforage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ri0t%2Fforage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ri0t","download_url":"https://codeload.github.com/ri0t/forage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245924499,"owners_count":20694728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line","management","multi-repo","tool"],"created_at":"2024-12-06T18:40:18.328Z","updated_at":"2025-03-27T20:45:45.969Z","avatar_url":"https://github.com/ri0t.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nForage Tool\n===========\n\nA simple tool to execute commands on given folders.\nVia spur, forage is capable of doing that over ssh, too.\n\nYou could probably do all that with xargs or find.\n\nVery handy when working on organizations with a non-monolithic repository structure!\n\nIt has some safety measures included - but be very careful, as this tool allows\n(possibly) unprecedented in-the-foot-shooting.\n\nInstallation\n============\n\nInstallation doesn't require much more than invoking the provided ``setup.py``.\nBe crazy and individualistic by installing it into your global environment:\n\n``python setup.py install``\n\nYou can also be a little more careful by using a virtual environment, of course.\n\nApplication Examples\n====================\n\nI mostly use this with git to work on many repositories at once.\n\ngit\n---\n\nA short word of warning: If you use forage with git, be extra careful!\nAlways check with ``git diff --cached`` before you actually commit!\n\nGet a quick glance at the status of a lot of repositories:\n\n``forage -o -q -h -p -r \"git status -s\" repos | less``\n\nCommit with a message:\n\n``forage -o -q -h -p -r \"git commit -m {{replace}}\" --cmd-replace \"Your commit message\" repos | less``\n\nSome other useful commands with the forage / git combination:\n\nSee changes to commit:\n``git diff --cachced``\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fri0t%2Fforage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fri0t%2Fforage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fri0t%2Fforage/lists"}