[darcs-users] Re: the readability of darcs native change format (was: Re: SchwernLikesDarcs SchwernHatesDarcs)

Benedikt Schmidt beschmi at cloaked.de
Sun Mar 20 05:41:32 UTC 2005

On Sun, 20 Mar 2005 03:27:25 +0000, Mark Stosberg wrote:

> On 2005-03-20, Michael G Schwern wrote:
>> I'm also keeping note of what I hate about darcs
>> http://www.scannedinavian.org/DarcsWiki/SchwernHatesDarcs
> re: the hard-to-read native format. Have you tried looking at
> patches with 'darcs diff -p patch_name'?  It uses the Real diff
> program in the binary. 
> I understand this much about the technical details of the darcs patch
> format:
>  - It saves disk space by not storing context in the patches.
>  - Consequently, there can be a performance penalty for constructing
>    the context to display it, since it's not in the patch. 
> Personally, sometimes I like the lack of context because it's compact.
> If I'm reviewing patches during 'record', I might have the context in my
> head, and don't need to to take up screen real estate right then. 

Whatsnew and annotate already support -u for unified diffs and create
the files needed for context when needed.
Adding some markers for the start of a new hunk and of changes to a new
file would be nice.
Looking for @,--- and +++ as in the output of diff -u is faster than
looking for "hunk" and reading the filename.

While there is some discussion about the diffs, is there something special
about the darcs diff algorithm? It seems like the number of inserts and
deletes is minimal and then some care is taken to minimize the number of
hunks. I'm working on some performance improvements to the diff code and
wondering if results mostly identical to gnu diff are ok. I got some diff
code mostly running and I'm starting to replace Lcs.lhs and make_holey
soon. Btw, I'm looking forward to the performance testing script.


More information about the darcs-users mailing list