Always fetch, fix command description
Pretty-print command choices
Show --target and checkout in README
A perfect dependency graph is never stale or broken, but there are no perfect dependency graphs. One very common use case is building multiple projects from source, using one's build artifacts to build another. Copying artifacts by hand is tedious and errorprone, but there is a simple solution: shared build directory. Setting one up is quite tedious too, so I've come up with this tool.
It allows to clone multiple repositories as described by configuration file, and link their build directories together.
% src-tree clone config.yaml --root ./root
% mkdir root/result
% # populate root/result with dependencies
% src-tree link config.yaml --root ./root --builddir build --targetdir result
For a following configuration file
repositories:
- url: https://some.where/~else/xxx
branch: develop
- url: https://else.where/~nowhere/yyy
name: zzz
This would produce a following directory tree minus xxx
and zzz
contents.
./root/result
./root/xxx/build -> ./root/result
./root/zzz/build -> ./root/result
Sometimes the working tree gets dirty or stale. You can fetch & checkout to the latest copy with
% src-tree checkout config.yaml