Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Git submodule doc
  • Git subtree doc   (May, 2015)  more doc by the same guy (May, 2013; updated Jan. 2017)
  • Git subrepo doc, source

 From the documentation for subtree and subrepo it seems likely that git submodule, the original and fully-integrated-into-git attempt to solve this kind of problem, is not suitable for our case (three levels of repositories, none of them external and all potentially undergoing active development). The other two, at least, deserve a closer look, but the discussions in the documentation cited above are sobering.  Before trying to decide if any of these are suitable for us we should think hard about how we plan to do development.

...

In CVS we've reserved branches for large-scale differences, usually only suitable for GR and have mostly followed model 3), but branches are easier to use in git.   1. seems like overkill for the small number of developers involved.

Both subtree and subrepo appear to handle branches reasonably well.  In the more recent subtree doc the description of how to push changes to the subtree back to the remote is a bit daunting, especially since this is likely to be a common operation for developers. This was one of the motivations for subrepo.

Scripting bridge

Each subpackage or subsubpackage (that is, anything with an SConscript in its top directory) goes in a separate repository, as with previous strategy, but we write our own custom tool to help with the scenarios we expect to encounter, and not much more.

...