"Michael K. Edwards" <medwards.linux@xxxxxxxxx> writes: > When setting up a working area for kernel integration for a new > embedded target, I generally do a "git clone --reference" so that the > new area has its own repository (and its own branch structure) but > most of the blobs come from a local reference copy. But now that I'm > integrating bits from several non-trivially divergent trees (mtd-2.6, > netdev-2.6, linux-2.6.16.y, etc.), it would be nice to avoid > re-downloading blobs for these additional remote branches, which are > also available in the local reference copy. Is it feasible to > implement "git fetch --reference" for this purpose? Or is there a > better way to manage this sort of integration effort? I am somewhat doubtful that this is common enough to warrant adding an extra option to "git fetch", but you could add alternates to these new reference object stores before initiating the fetch. For example, if you have pristine linux-2.6/ and your work was started by cloning with --reference to it into my-2.6/, you would have something like this: $ cd /usr/src $ ls -F linux-2.6/ linux-2.6.16.y/ netdev-2.6/ my-2.6/ $ cd my-2.6/ $ cat .git/objects/info/alternates /usr/src/linux-2.6/.git/objects Then you would (still in my-2.6 repository): $ cat >>.git/objects/info/alternates /usr/src/linux-2.6.16.y/.git/objects /usr/src/netdev-2.6/.git/objects $ git pull ../netdev-2.6/ ALL which would hopefully not download _any_ objects but just gets the ALL branch and makes a merge commit in your working repository. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html