On Sat, May 10, 2014 at 8:39 PM, Sitaram Chamarty <sitar...@gmail.com> 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.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to