[darcs-devel] [darcs #539] ChangeLog files and darcs patches, request for special case

via RT bugs at darcs.net
Sat Oct 1 08:55:03 PDT 2005


Sat Oct 01 11:55:02 2005: New ticket: 539.
Transaction: Ticket created by guest
       Queue: Darcs
     Subject: ChangeLog files and darcs patches, request for special case
       Owner: Nobody
  Requestors: stephen at xemacs.org
      Status: new
 Ticket <URL: http://bugs.darcs.net/.//Ticket/Display.html?id=539 >

Yeah, I know ... but if you're a typical GNU project and follow
standards, you do have a ChangeLog file.  And if you're not the
maintainer (so you can't just mandate darcs!), and the project uses a
centralized repository (especially CVS), the approach of generating the
ChangeLog using darcs changes isn't practical.

In CVS, where people create patches with diff (or CVS diff) there's a
simple trick that often works well with ChangeLogs: cvs diff -U 0.  This
works because new logs are just prepended, so you get a diff like

--- old/ChangeLog
+++ new/ChangeLog
=====================================
@@ 0,0 1,4 @@
+2005-10-02  Stephen J. Turnbull  <stephen at xemacs.org>
+
+       * file.c: Remove some spam.
+

and you'll never have any conflicts or problems.

Unfortunately, in darcs you will often see hunks like this:

hunk: ./file.c, 2
+
+       * file.c: Remove some spam.
+
+2005-10-02  Stephen J. Turnbull  <stephen at xemacs.org>

and you will lose badly in terms of hard to read future conflicts. 
Anyway, this is ugly.

It would be nice if the diff algorithm could be adjusted so that hunks
like this aren't produced.

By the way, you will see such hunks in CVS, too.  But they're much more
likely in darcs because a single programmer is much more likely to make
multiple commits in a short period.





More information about the darcs-devel mailing list