[darcs-devel] darcs patch: Fix issue 185: don't combine AddFile
and RmFile in the...
Lele Gaifax
lele at nautilus.homeip.net
Sat Aug 19 17:24:02 PDT 2006
lele at nautilus.homeip.net wrote:
> hunk ./PatchViewing.lhs 173
> - | f == f' = combine ((f,a.+a',b.+b',r+r',isd,c||c'):ss)
> + -- Don't combine AddFile and RmFile: (maybe an old revision of) darcs
> + -- allows a single patch to add and remove the same file, see issue 185
> + | f == f' && (a.+b' /= -1) && (a'.+b /= -1) = combine ((f,a.+a',b.+b',r+r',isd,c||c'):ss)
It turns out that this patch does not do exactly what I intended. It
prevents more combinations than needed/wanted. My previous attempt was
right, where I used a more explicit condition:
f == f' && (a /= -1 || b' /= -1) && (a' /= -1 || b /= -1)
that covers *only* AddFile and RmFile, so that I get this output:
$ ./darcs changes --match "hash
20050606193150-891bb-dad36762ac41517fe0a9136ea14fff32b2930f0d.gz" --summ
--repo=http://www.carpetcode.org/~darcs/carpet-stable-3
Mon Jun 6 21:31:50 CEST 2005 Erik Schnetter <schnetter at aei.mpg.de>
* CarpetWeb: Update web pages
Update the web pages.
Explain stable and development versions better.
Update darcs binaries and documentation.
A ./Carpet/CarpetWeb/binaries/darcs-1.0.3-static-linux-i386.gz
R ./Carpet/CarpetWeb/binaries/darcs-1.0.3-static-linux-i386.gz
R ./Carpet/CarpetWeb/doc/darcs-1.0.2.ps.gz
A ./Carpet/CarpetWeb/doc/darcs-1.0.3.ps.gz
M ./Carpet/CarpetWeb/get-carpet-darcs.html -68 +128
M ./Carpet/CarpetWeb/index.html -56 +17
M ./Carpet/CarpetWeb/olds.html -1 +22
M ./Carpet/CarpetWeb/work-with-darcs.html -4 +4
while with the patch I sent I get this:
Mon Jun 6 21:31:50 CEST 2005 Erik Schnetter <schnetter at aei.mpg.de>
* CarpetWeb: Update web pages
Update the web pages.
Explain stable and development versions better.
Update darcs binaries and documentation.
A ./Carpet/CarpetWeb/binaries/darcs-1.0.3-static-linux-i386.gz
R ./Carpet/CarpetWeb/binaries/darcs-1.0.3-static-linux-i386.gz
M ./Carpet/CarpetWeb/binaries/darcs-1.0.3-static-linux-i386.gz
R ./Carpet/CarpetWeb/doc/darcs-1.0.2.ps.gz
M ./Carpet/CarpetWeb/doc/darcs-1.0.2.ps.gz
A ./Carpet/CarpetWeb/doc/darcs-1.0.3.ps.gz
M ./Carpet/CarpetWeb/doc/darcs-1.0.3.ps.gz
M ./Carpet/CarpetWeb/get-carpet-darcs.html -68 +128
M ./Carpet/CarpetWeb/index.html -56 +17
M ./Carpet/CarpetWeb/olds.html -1 +22
M ./Carpet/CarpetWeb/work-with-darcs.html -4 +4
which is clearly wrong.
Now the question is: what's better, amending my change and resend a new
patch, or recording this fix a sending an additional patch with the
correct condition?
ciao, lele.
More information about the darcs-devel
mailing list