[darcs-users] Re: Limits of Darcs (the whole Linux kernel?)

David Roundy droundy at abridgegame.org
Sun Nov 7 13:20:35 UTC 2004

On Sat, Nov 06, 2004 at 02:37:55PM +0100, Samuel Tardieu wrote:
> >>>>> "David" == David Roundy <droundy at abridgegame.org> writes:
> David> Darcs needs to be able to hold parsed patches in memory,
> David> basically for efficiency reasons.
> I understand that with the current implementation this is the
> case. What I propose is to start up with no preconceived ideas of what
> will work of what won't and see whether we can find another solution
> to this problem.
> Would you be able to explain in a few lines what needs to be held in
> memory exactly? The patches content or the patches description (what
> file gets modified and in which way)? Why is it used for and at what
> stage?

We often need to commute patches, which means we to know what files they
modify, and which lines of those files, and what other
(non-file-modification) changes thy might make.  If we need to commute with
a replace patch, we also need to know the contents of all the lines
modified by that file.

In short, in order to do commutation, we *may* need the entire contents of
a patch.  We may be able to get by with a subset of that information, but
it's not easy to figure out which subset is needed.

Most other "interesting" operations are composed of commutations.

There are also the "boring" operations, like applying a patch to a
directory, which could be done one primitive patch at a time, except that
I'd like to be able to know whether or not there's a problem *before* we
start modifying files, so if there's corruption in the archive we can avoid
messing with things.
David Roundy

More information about the darcs-users mailing list