From: Sam Vilain Date: Wed, 15 Feb 2006 00:40:24 GMT Subject: Re: Handling large files with GIT Message-ID: <43F27878.50701@vilain.net> In-Reply-To: <7vy80dpo9g.fsf@assigned-by-dhcp.cox.net> Junio C Hamano wrote: > Linus Torvalds writes: > >>If somebody is interested in making the "lots of filename changes" case go >>fast, I'd be more than happy to walk them through what they'd need to >>change. I'm just not horribly motivated to do it myself. Hint, hint. > > In case anybody is wondering, I share the same feeling. I > cannot say I'd be "more than happy to" clean up potential > breakages during the development of such changes, but if the > change eventually would help certain use cases, I can be > persuaded to help debugging such a mess ;-). Excellent. Any speculations on where they might fit? Clearly, it needs to be out of the "tree". Dealing with the three cases I mentioned before in my Warnocked post; 1. caching - I'll consider this an "under the hood" thing, it really doesn't matter, so long as the tools all know. 2. forensic - extra stuff at the end of the commit object? eg Copied: /new/path from /old/path:commit:c0bb171d.. (for SVN case where history matters) Copied: /new/path from blob:b10b1d.. (for general pre-caching case) Merged: /new/path from /old/path:commit:C0bb171d.. (for an SVK clone, so we know that subsequent merges on /new/path need only merge from /old/path starting at commit C0bb171d..) 3. retrospective - as above, but allow to specify old versions. eg Copied: /new/path:C0bb171d1 from /old/path:commit:c0bb171d2... (for SVN case where history matters) Martin, is that enough for your CVS case? Sam.