On Sat, May 10, 2014 at 8:39 PM, Sitaram Chamarty <sitaramc@xxxxxxxxx> wrote: > Hi, > > Is there a trick to optimising a push by telling the receiver to pick up > missing objects from some other repo on its own server, to cut down even > more on network traffic? > > So, hypothetically, > > git push user@host:repo1 --look-for-objects-in=repo2 > > I'm aware of the alternates mechanism, but that makes the dependency on > the other repo sort-of permanent. I'm looking for a temporary > dependence, just for the duration of the push. Naturally, the objects > should be brought into the target repo for that to happen, except that > this would be doing more from disk and less from the network. > > My gut says this isn't possible, and I've searched enough to almost be > sure, but before I give up, I wanted to ask. My feeling is it is possible, assuming that the target sees and reuses objects from repo2 already. Injecting an alternate repo at runtime should be possible. We exclude objects from sending at commit level, not object level. So after the initial exclusion, we may need to run the to-be-sent objects against the alternate repo to skip some more, but that should not cost much if repo2 is fully packed. The receiver always does the connectivity test. So if you make a mistake and specify repo3 instead, the receiver will reject the push and the target repo won't be corrupted. -- Duy -- 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