Create a new omnibus repository out of a collection of existing git repositories.
What exactly does it do with repositories?!
- Checks for the destination omnibus directory.
- Clones source repositories into a temporary directory.
- It uses mirroring, to pull in all branches and tags.
- It immediately removes any remote
- Preserves the git history for each repository.
- (optional) If desired, it removes any submodules present first.
- It also renames all branches and tags to be
- Does garbage collection on the repository being migrated.
- Imports each source repository as a sub-directory of the omnibus repository.
- Does garbage collection on the new omnibus repository.
- Does not push the new omnibus repository live.
gem install omnirepo
- Unix-based operating system, with
tmpfspartition located at
/dev/shmfor temporary storage.
- Read access to all remote repositories involed.
Use without a configuration file:
omnirepo <username/organization> <destination-omnibus> <source-repository> [...]
If these self-contained repositories on GitHub need to be merged together into one repository:
And the directory housing the future location of the omnibus repository on GitHub is:
This would be your command:
omnirepo org9 repo0 repoA repoB repoC
Use with a configuration file:
For the scenario above, you can create a configuration file as follows:
repositories: - repoA - repoB - repoC
Save that file as
Then run this command:
omnirepo org9 repo0
- Read repositories from a configuration file.
- Bring together source repositories from multiple possible organizations.
- ...missing something? Request it...
- Fork this repository on GitHub.
- Make your changes and send a pull request.
Distributed under the MIT License. See LICENSE.txt for further details.
Copyright (c) 2015 Donovan Keme.