Welcome to switcher 👋

License: MIT Cargo: Switcher Github: CI Twitter: omarahm3

Multi git repositories project organizer made with rust.

This project is pretty immature, it was created so that i can learn Rust, there are other variants of this project made with other languages - Fish Shell - Node Switcher

However this might be the main project in which i'm going to continue maintaining it.

Install

From releases

sh wget -qcO ~/.local/bin/switcher https://github.com/omarahm3/switcher/releases/download/v<LATEST_VERSION>/switcher chmod +x ~/.local/bin/switcher

Or install it as a cargo crate

sh cargo install switcher --version <LATEST_VERSION>

If you just don't know the version to use

sh cargo install switcher --version (cargo search switcher --limit 1 | head -n 1 | cut -d ' ' -f 3 | sed -e 's/"//g')

Build

sh git clone git@github.com:omarahm3/switcher.git cd switcher cargo build --release --all-features

Usage

sh switcher help

Using feature files

Feature files are files that describe a certain feature/bug/whatever on a specific project. You can create them in a specific format:

json { "project": "example", "feature_specs": [ { "repository": "my_repo", "branch": "fix/tricky-bug" }, ... ] } You can check this example file too, and once you have the file somewhere you can just pass that to switcher by running: sh switcher feature ./path-to-feature-file.json and it will do the rest

Author

👤 Omar Ahmed

🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page.

Show your support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2021 Omar Ahmed.

This project is MIT licensed.