[Kde-scm-interest] [Kde-games-devel] Data files and the Git move

Oswald Buddenhagen ossi at kde.org
Tue Sep 6 15:06:25 UTC 2011

On Mon, Sep 05, 2011 at 11:37:33PM +0200, Thiago Macieira wrote:
> On Monday, 5 de September de 2011 17:06:42 Oswald Buddenhagen wrote:
> > > I understand why you can never update it (fetch into it), since the remote
> > > may conclude that it doesn't need to send some objects.
> > 
> > because it might assume that objects which should be reachable from the
> > old heads need not be transferred? 
> Yes.
> > changing this sounds like a simple protocol extension to me ...
> Adding the extension might be trivial. Collecting the information to send and 
> making use of it might not be.
> The fetcher side needs to scan the entire commit history and find which commits 
> are missing. Right now, it only needs to send the list of branch heads.
missing commits are trivial, because they are unique within the graph, so
just sending the "have" sha1s as cut-off points is sufficient.
it gets more interesting for trees and blobs, as previously reachable
objects might not be actually in the clone. but that's actually easy,
too - objects referenced only from below the cut-off points are assumed
to be missing.

fwiw, what would be *really* cool would be on-demand fetching, so if you
do a deep history search in a directory, you automatically fetch the
commits, trees and text blobs for the searched scope, but nothing else.
that amounts to a lot of cut-off points to send to the remote, though.

More information about the Kde-scm-interest mailing list