Re: Re: Darcs-git pulling from the Linux repo: a Linux VM question
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Apr 27, 2005, 16:16 UTC
- Message-ID
- <Pine.LNX.4.58.0504270910510.18901@ppc970.osdl.org>
- In-Reply-To
- <7iu0lskyfb.fsf@lanthane.pps.jussieu.fr>
On Wed, 27 Apr 2005, Juliusz Chroboczek wrote:
Show 5 quoted lines
> > 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