[darcs-users] Colin Walters blogs on Arch changesets vs Darcs

Kenneth Knowles kknowles at soe.ucsc.edu
Sat Nov 20 09:32:39 UTC 2004

On Fri, Nov 19, 2004 at 09:53:15PM -0500, Colin Walters wrote:
> > (And you can do a darcs
> > get --partial to avoid downloading the entire history.)  
> Sure; but as I understand the theory of patches, the lack of a logical
> file identity concept means that if a number of renames have occurred
> upstream since the .tar.gz release, when they receive this Darcs patch,
> it could happen to apply to a totally different file that was moved into
> the same name (a good example would be Makefile.am).  Either that, or
> the patch completely fails to apply.

I am not nearly as deep in the darcs code as these other guys, but darcs does
not need to track file identity, because it will commute your patch with all the
upstream moves... maybe I misunderstand your use case, but the general issue of
applying changes when a file has been renamed doesn't need file identity, just
rename history.  Both approaches force you to use "darcs mv" or "tla move"
commands to update the metadata, but I prefer darcs' history-based approach a
bit.  I could be wrong about the tla side of things, because I only used it for
less than a month before I saw darcs and immediately pounced on what seemed like
an equivalent or more powerful, yet simpler, system.

As for all the rest, strict correctness is one of my favorite things about
darcs:  Unless there is a bug, I know that it will not allow me to apply patches
in arbitrary, possibly nonsensical, ways, which I seem to hear you asking for
(and plenty of people on the list ask for the same, in various guises).  I would
rather suggest that the performance increases that would be possible can be
achieved in less dangerous ways.  This feels a little analogous to certain PL
religous wars...
Darcs does have unsafe features, and in fact I silently hope for their removal,
such as replacing unrecord with patch subsumption, but I don't have much time to
debate on the list.


More information about the darcs-users mailing list