Simon Josefsson wrote: > Thanks for your writeup on how to use git submodules for gnulib. > Is there already some > instructions about this in gnulib somewhere?
No, I don't think so, but there should be! The only disadvantage is that bootstrap will not perform a shallow clone of gnulib, but rather a full clone. Hopefully the next versions of git will improve the performance of full clones. On the other hand, the advantages of submodules are evident. In particular, recording the gnulib version used for released versions is extremely important, because from a tag one should be able to recreate the code in release tarball exactly. However, tracking a known-good gnulib version for each commit is usually better, which is why I don't think the "releases branch" method I gave is applicable outside libunistring (and I would prefer a normal submodule to be used for libunistring too). For libunistring, the second method is passable because I guessed Bruno wouldn't like having to do a commit to libunistring every time he commits something related to it in gnulib, and because incompatible changes to libunistring modules should not happen at all or at least should be very rare. I would expect in principle that libunistring 0.9 would compile out-of-the-box with next year's gnulib -- creating a different tarball though, of course. Paolo