Gyros is a simple multirepo git pass-through tool. It can help running git commands in multiple repos at the same time. It's probably overkill for most people/workflow but it's perfect for what i need at work. I use it everyday!
Gyros can be built from source. After cloning the repo do:
cd gyros
cargo install --path .Don't forget to add .cargo/bin to your PATH:
export PATH=~/.cargo/bin:$PATH set PATH $PATH ~/.cargo/binFirstly you need to create a .gyros.toml file:
.gyros.toml
[repos]
repo1 = "/home/pia/Dev/repo1"
repo2 = "/home/pia/Dev/repo2"
repo3 = "/home/pia/other/some/path/repo3"The repo name can be an alias and will act as an identifier to the repository
Which would then execute git commands inside the 3 repositories from the folder
where .gyros.toml was saved.
/home/pia/
├── Dev/
│ ├── repo1
│ ├── repo2
│ └── .gyros.conf
└── other/
└── some/
└── path/
└── repo3For now, having multiple config file in the same folder leads to indeterminate behavior.
The gyros command is just a pass-through to run normal git commands in your
repos.
gyros diff --name-statusYou can run a command in only one repository with the --only flag:
gyros --only repo1 push -u devThe repo name is the one used as identifier in your .gyros.toml.
Here's what i want to add to Gyros:
- run commands in parallel (faster)
- add custom commands in the conf file