[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