[darcs-devel] Re: Darcs-git pulling from the Linux repo: a Linux VM question

Linus Torvalds torvalds at osdl.org
Wed Apr 27 09:16:03 PDT 2005



On Wed, 27 Apr 2005, Juliusz Chroboczek wrote:
> 
> Here we're speaking about the initial import.  Committed on 17 April
> 2005 by Linus Torvalds, with the comment ``Let it rip''.  220 MB of
> changed files in a single commit.  2 minutes real time just to read
> all the files, never mind doing anything useful with them.

I think you may well want to consider the initial commit special. In many 
ways it is - it has no parents etc, so even apart from the fact that the 
initial commit obviously tends to be a lot bigger than any other commit, 
it actually fundamnetally is _technically_ different too.

> To put it mildly, Darcs is not optimised for that sort of usage.

It shouldn't be. Make the initial one a special case, and import things 
file-by-file for that one special case.

Afterwards, you should be able to handle other commits as "diffs", and
then it's entirely reasonable to have the difference all in memory. If
somebody really does end up having a 220MB diff, and darcs sucks at it,
then at that point I don't think it's darcs' problem any more, it's the
project that you're trying to track that is doing something wrong..

So if you _just_ consider the initial git commit special (and it's easy to 
notice by just looking at the lack of parents), then you may not need to 
change darcs in the other cases.

And almost all SCM's consider the initial state a special case anyway. The 
fact that GIT doesn't is just a result of the strange way of representing 
data, which doesn't care. I don't think you should emulate git in that 
respect.

		Linus




More information about the darcs-devel mailing list