A monorepo builder and synchronisation engine
This package contains the builder for the schoty project. It provides a unified view for multiple user-repositories and implements a synchronisation mechanism between the monorepo and the individual repositories.
Warning: this package is an early developpement / prototype phase
Schoty requires git and Python 3.6 and can be installed with,
pip install git+https://github.com/schoty/schoty.git
- Making a new monorepo
schoty clone repo1 repo2 new-monorepo
- Change some files in the monorepo (it is a regular git repository) and commit
cd new-monorepo/
git checkout -b new-feature
touch repo1/new-file
git add repo1/new-file
git commit -m 'Added new-file'
- Synchronize the monorepo with local repositories under
new-monorepo/.repos/
schoty scatter
or
schoty gather
- Any of the following commands (
pull
,push
,fetch
) will be applied to local repositories undernew-monorepo/.repos/
schoty <command>
- Git history rewrites are not supported
- https://github.com/beberlei/composer-monorepo-plugin
- https://conda-forge.github.io/ (for the Github integration procedures)
- https://greenkeeper.io/