On Fri, Apr 09, 2010 at 09:47:14PM +0200, Vincent Zweije wrote: > On Fri, Apr 09, 2010 at 09:34:39AM +1000, [email protected] > wrote: > > > Vincent Zweije wrote: > > > I presume this is seriously ungood: > > > > > > $ darcs pull --all --patch > > > http://www.sqlite.org/src/info/ccb9393a7a10f0970419b860af293b0bdad7f894 > > > Merging us 19/60 > > > Merging us 23/60 > > > Merging us 43/60 > > > Pulling from "/home/vincent/Lemon/darcs/trunk/tool"... > > > Will pull the following changes: > > > Wed Dec 10 21:10:05 CET 2008 shane > > > * > > > http://www.sqlite.org/src/info/ccb9393a7a10f0970419b860af293b0bdad7f894 > > > Added option (-l) to lemon parser to have it skip printing line > > > numbers (#line ... ). (CVS 6008) > > > > > > M ./lemon.c -19 +21 > > > darcs: src/Darcs/Patch/Real.hs:(506,21)-(507,35): Irrefutable pattern > > > failed for pattern Data.Maybe.Just a2' > > > Vincent, it would be great if you could step through > > http://wiki.darcs.net/Forensics to get more information. > > I've narrowed it down to one repository (unchanged from the > original problem, the pull destination), plus one patch bundle > (the one pulled in the original problem) containing a single > patch with several hunks. That was the easy part. > > Then I coalesced all of the repository history into a single > patch, and tried to get the patch bundle to apply. After > fooling around with hunk line numbers I found that one of the > hunks is trying to delete two lines which in the target file > (lemon.c) have different contents. Replacing the lines with > the actual lines in the target file makes the patch bundle > apply cleanly (with the hunk line numbers adjusted).
I'm afraid I haven't done any more sleuthing since my previous
message, but...
I neglected to mention that with coalesced history and fixed
line numbers (but no fixed hunk), darcs does not crash,
but simply fails with:
$./reproduce.sh
+ darcs apply --repo repo bundle.dpatch
darcs failed: Error applying hunk to file ./lemon.c
$
There must be something in the history of the repository
causing the crash.
Actually, looks like there are two problems:
1. The pull produces a patch that does not apply to the
pull destination, and
2. The non-applying patch causes a darcs crash.
Would you agree that the first is the more interesting?
Hm. Things are getting complicated...
--
WCC - Smart Search & Match
NL +31 30 7503222
[email protected]
www.wcc-group.com
signature.asc
Description: Digital signature

