On 01/10/2012 08:20 AM, Werner LEMBERG wrote: > > [gnulib 530dd174] > > > The `git submodule' is a very nice feature, however, there are two > issues. > > . First of all, there is some user-unfriendliness: Without > installing a gnulib submodule for project `foo', just invoking the > `bootstrap' script in the `foo' directory' without any arguments > gives > > ./bootstrap: line 610: gnulib/gnulib-tool: No such file or directory > > This looks like a bug in the script, which it isn't actually. > Maybe `bootstrap' can be improved to emit a suggestion how to > proceed.
Patches welcome. It's assumed that a project that uses bootstrap will already have the submodule set up, so it's only the first developer actually turning on bootstrap support that will encounter the issue. So perhaps it is just a documentation issue on how best to initially set up the use of the bootstrap script. > > . Writing > > git submodule add -- git://git.sv.gnu.org/gnulib.git .gnulib > > for a project `foo' adds 55MByte. If I have another project with > the same setup, I need 55MByte again. Not optimal, obviously. > > How can I save space, for example, by referencing a separately > checked out `gnulib' repository as a submodule instead of cloning > it? Of course, the default method of `bootstrap' should be not > changed. export GNULIB_SRCDIR=/path/to/reference prior to bootstrap, or use ./bootstrap --gnulib-srcdir=/path/to/reference That shares the .git directory, which is the bulk of the weight; the remainder of the weight (the actual working directory checkout) has to be per-project (since not all projects have the same gnulib commit), so I don't think we can do anything about that, unless we started playing with sparse checkouts (such as pruning the bulk of gnulib/doc when using gnulib as a submodule). Also, the penalty is only in the developer's machines; running 'make dist' does not put _all_ of gnulib in the tarball, but just the portions of gnulib that your project actually uses. -- Eric Blake ebl...@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature