[reSIProcate] replacing contrib folder with git submodules
Daniel Pocock
daniel at pocock.pro
Sun Mar 29 10:12:22 CDT 2020
Hi all,
Git offers a feature called submodules that allows us to pull other
repositories into our own. You can think of them like pointers or symlinks.
It is an alternative to keeping full copies of things in the contrib/
folder and releasing a contrib tarball.
It is not completely identical though:
- if the upstream projects release tarballs based only on their Git
tags, the contents of a submodule are identical
- if the upstream projects use 'make dist' or a similar mechanism to
create tarballs, their release tool puts extra things in their tarball
that are /not/ in their tag. In this case, a snapshot of their tarball
in the contrib/ folder remains the better solution. Example: our tags
contain resiprocate.spec.in and our release tarballs contain an extra
file, resiprocate.spec, generated from the .in file.
Using submodules reduces the size of the repository
It is valid with any Git service, not only Github
Regards,
Daniel
More information about the resiprocate-devel
mailing list