{"id":19294259,"url":"https://github.com/mdecker-mobilecomputing/mr4b","last_synced_at":"2026-05-01T21:05:12.542Z","repository":{"id":119792446,"uuid":"197239649","full_name":"MDecker-MobileComputing/mr4b","owner":"MDecker-MobileComputing","description":"My (Git) repositories for Bash (mass operations on Git repositories).","archived":false,"fork":false,"pushed_at":"2023-10-15T08:20:04.000Z","size":51,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-02-24T00:27:03.965Z","etag":null,"topics":["bash","git"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MDecker-MobileComputing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2019-07-16T17:34:33.000Z","updated_at":"2023-10-15T08:19:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"d48b9833-4ce1-439c-9d2f-58b88acf2da2","html_url":"https://github.com/MDecker-MobileComputing/mr4b","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/MDecker-MobileComputing/mr4b","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MDecker-MobileComputing%2Fmr4b","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MDecker-MobileComputing%2Fmr4b/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MDecker-MobileComputing%2Fmr4b/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MDecker-MobileComputing%2Fmr4b/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MDecker-MobileComputing","download_url":"https://codeload.github.com/MDecker-MobileComputing/mr4b/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MDecker-MobileComputing%2Fmr4b/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32512695,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bash","git"],"created_at":"2024-11-09T22:37:42.944Z","updated_at":"2026-05-01T21:05:12.523Z","avatar_url":"https://github.com/MDecker-MobileComputing.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My Git-Repositories for Bash (mr4b) #\n\n\u003cbr\u003e\n\n*mr4b* is a command line utility to perform mass operations on [Git](https://git-scm.com/) repositories on the local machine.\nIt is just a collection of Bash scripts and therefore should run on most Linux(-like) environments.\n\n\u003cbr\u003e\n\n----\n\n\u003cbr\u003e\n\n- [My Git-Repositories for Bash (mr4b)](#my-git-repositories-for-bash-mr4b)\n  - [About mr4b](#about-mr4b)\n  - [Installation](#installation)\n  - [Basic usage](#basic-usage)\n  - [Build deb or rpm package](#build-deb-or-rpm-package)\n  - [License](#license)\n\n\u003c!--\n   TOC added using VSC extension \"Markdown All in One\" by Yu Zahng (yzhang.markdown-all-in-one).\n   TOC will be automatically updated when this extension is installed in VSC.\n   Set setting \"githubCompatibility\" to \"true\".\n--\u003e\n\n\u003cbr\u003e\n\n----\n\n## About mr4b ##\n\n\u003cbr\u003e\n\nIn contrast to many competiting solutions for performing mass operations on Git repositories, *mr4b* does\nnot required a special scripting language like Python or Perl and therefore should also run on most\nrestricted or \"emulated\" Linux environments with the Bash shell and Git.\nFor example, it runs in [Cygwin](https://www.cygwin.com/) or [MinGW](http://www.mingw.org/) on Windows\nand also on MacOS.\n\n\u003cbr\u003e\n\n*mr4b* was inspired by [myrepos](https://myrepos.branchable.com/).\n\n\u003cbr\u003e\n\n----\n\n## Installation ##\n\n\u003cbr\u003e\n\nThe `PATH` variable mentioned in this sections means the environment variable `PATH`\nof your Linux environment.\n\n* **Option 1:**\n  Clone or download the repository and add the `bin/` folder of the repository to the `PATH` variable.\n  Example: `export PATH=$PATH:/home/bob/mr4b/bin`\n\n* **Option 2:**\n  Clone or download the repository and copy the contents of its `bin/` folder\n  to a folder which is already in your `PATH` variable, e.g. `/usr/bin/`.\n  The subfolder `mr4b_includes` has also to be copied.\n  For the example of `/usr/bin/` this would mean `/usr/bin/mr4b` and\n   `/usr/bin/mr4b/mr4b_includes/...`\n\n\u003cbr\u003e\n\n----\n\n## Basic usage ##\n\n\u003cbr\u003e\n\nAfter installation you can enter `mb4r help` to obtain usage hints, which outputs the content of [this help file](bin/mr4b_includes/mr4b_help.txt).\n\n\u003cbr\u003e\n\nGo to a folder which is the root folder (working directory) of a Git repository and register it:\n\n    cd ~/Project_A/GitRepo123\n    mr4b register\n\nAfter this you can register a further folder:\n\n    cd ~/Project_B/active/GitRepoABC\n    mr4b register\n\n\u003cbr\u003e\n\nIt is also possible to register all Git repository folders that are below the current folder. Let's assume you have the following folder structure:\n\n    /abc/GitRepo-1\n    /abc/def/ProjectA/GitRepo-2\n    /abc/def/ProjectA/GitRepo-3\n    /xyz/GitRepo-4\n\nNow go into folder `/abc` and call `registerResursively`:\n\n    cd /abc\n    mr4b registerResursively\n\nThe result will be that `GitRepo-1`, `GitRep-2` and `GitRepo-3` are registered, but not `GitRepo-4`.\n\n\u003cbr\u003e\n\nIf at least one repository folder is registered, then you can execute one of the supported Git commands on all the registered Git repository folders\nwith just one command.\nFor example, to get the Git status information on all registered repositories:\n\n    mr4b status\n\nYou can also perform `git pull` for all registered repos with one command:\n\n    mr4b pull\n\nSince the latter one requires network interaction, *mr4b* will wait a few seconds between the individual calls of `git pull`.\n\n\u003cbr\u003e\n\n----\n\n## Build deb or rpm package ##\n\n\u003cbr\u003e\n\nIn the [wiki belonging to this repository](https://github.com/MDecker-MobileComputing/mr4b/wiki) you can find pages describing\n[how to build a deb package](https://github.com/MDecker-MobileComputing/mr4b/wiki/Build-Debian-package) and [how to build a rpm package](https://github.com/MDecker-MobileComputing/mr4b/wiki/Build-RPM-file) with *mr4b*.\n\n\u003cbr\u003e\n\n----\n\n## License ##\n\n\u003cbr\u003e\n\nSee the [LICENSE file](LICENSE.md) for license rights and limitations (GPL v3).\n\n\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdecker-mobilecomputing%2Fmr4b","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdecker-mobilecomputing%2Fmr4b","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdecker-mobilecomputing%2Fmr4b/lists"}