darcs

Issue 1211 apply => bug in get_extra commuting patches (2.1.0+)

Title apply => bug in get_extra commuting patches (2.1.0+)
Priority urgent Status duplicate
Milestone Resolved in
Superseder pull =>bug in get_extra commuting patch (2.0.2+77; duplicate patches)
View: 1014
Nosy List darcs-devel, dmitry.kurochkin, kowey, thorkilnaur, tux_rocker
Assigned To tux_rocker
Topics Conflicts

Created on 2008-11-09.21:15:31 by kowey, last changed 2009-08-27.14:16:46 by admin.

Files
File name Uploaded Type Edit Remove
handle-eof-exceptions-from-hready_-in-accordance-with-h98_.dpatch kowey, 2008-11-09.21:15:27 text/x-darcs-patch
Messages
msg6617 (view) Author: kowey Date: 2008-11-09.21:15:27
I think this is reproducible.  I have a repository up to darcs 2.1.0 (plus a
couple of extra patches), and I tried to apply the attached patch to it

darcs: bug in get_extra commuting patches:
First patch is:
Fri Jul 25 10:50:15 BST 2008  Eric Kow <E.Y.Kow@brighton.ac.uk>
  * configure: mention Haskell in 'try installing' suggestion
Second patch is:
Sat Nov  8 15:19:51 GMT 2008  Eric Kow <kowey@darcs.net>
  * Upgrade configure test to require QuickCheck 2.1
  As I understand it, it would pass with QuickCheck 1.2
Attachments
msg6618 (view) Author: kowey Date: 2008-11-09.21:16:17
$ darcs changes --context

Context:

[Fix placement of ChangeLog signatures.
Eric Kow <eric.kow@gmail.com>**20081023143555
 Ignore-this: a01bf584d8a0259b45f81807b7b91942
] 

[Hard-code darcs-2.1.0 ChangeLog entries.
Eric Kow <eric.kow@gmail.com>**20081021103725
 Ignore-this: b5e03d213c5ed90092362b5ebe3fc0b
] 

[remove dependence on haskell98 package from preproc.hs and make_changelog.hs.
David Roundy <droundy@darcs.net>**20081019220256
 Ignore-this: 2bda2dcb172e3c815bd5a2c068a064e2
] 

[make make_changelog default to quiet output.
David Roundy <droundy@darcs.net>**20081009203322
 Ignore-this: 55eba7a68a3c8a5683d23cc99848bd6f
 You can restore previous behavior by defining the VERBOSE environment
 variable.
] 

[Check for base package version in configure.
Eric Kow <kowey@darcs.net>**20081108163629
 Ignore-this: ee374e50a26083f91d653f22b5d052f2
 This is to support GHC 6.10.1
] 

[Canonize Eric Kow
Eric Kow <E.Y.Kow@brighton.ac.uk>**20081106115101
 Ignore-this: 7440ce4473d397e40fdee1181d6bfa7f
] 

[Upgrade configure test to require QuickCheck 2.1
Eric Kow <kowey@darcs.net>**20081108151951
 Ignore-this: bc3000a3f159a4b11a086f3bad7047b8
 As I understand it, it would pass with QuickCheck 1.2
] 

[Do not compile with -Werror in configure tests either
Eric Kow <kowey@darcs.net>**20081108151012
 Ignore-this: 5a568958b749784ded0b18af197e5179
 This was causing the configure check for libz (i.e. the C library)
 to fail for the reasons completely unrelated to the test:
 
    Warning: -fffi is deprecated: use -XForeignFunctionInterface or pragma {-# LA
 NGUAGE ForeignFunctionInterface#-} instead
  
] 

[Do not build with -Werror
Eric Kow <eric.kow@gmail.com>**20081107231403
 Compilers change and treat different things as errors.  We can enforce
 a no-warnings rule socially rather with a technical solution.
] 

[TAG 2.1.0
Eric Kow <E.Y.Kow@brighton.ac.uk>**20081009120532]
msg7576 (view) Author: tux_rocker Date: 2009-04-05.10:29:15
I managed to reproduce this on my home computer.

$ darcs --version
2.2.0 (+ 183 patches)
msg7607 (view) Author: tux_rocker Date: 2009-04-08.20:54:23
This is the last hunk commute failure before darcs bombs out:

commuteHunk: failed! 
p1:Hunk 49 ["\\end{code}"] []
p2: Hunk 47 ["import Char ( ord, intToDigit, toUpper )","import List ( find )"]
["import Data.Char ( ord, intToDigit, toUpper )","import Data.List ( find )"]

This is in the src/CommandLine.hs file. If I look at it as a non-guru, it looks
like this commute should just succeed.
msg7608 (view) Author: tux_rocker Date: 2009-04-08.21:35:51
Igloo pointed me to
http://lists.osuosl.org/pipermail/darcs-users/2008-August/013070.html , and this
seems to be an instance of that bug.

The code assumes that any two patches commute in one context, they commute in
another. But that assumption is falsified by B and C in the following example:

You have context A B C. A and B are the same change. C depends on that change.
You can commute B and C in that context to get A C' B'. 

But if you have the context B C, commutation will fail because C depends on
either B or A.
msg7655 (view) Author: kowey Date: 2009-04-09.16:21:05
I'm marking issue1014 as a superseder for this (that's the same bug, right?)

I'll mark this as a duplicate for now, although (Thorkil) I'm not sure if this
is the right thing to do.
History
Date User Action Args
2008-11-09 21:15:31koweycreate
2008-11-09 21:16:20koweysetstatus: unread -> unknown
nosy: kowey, dagit, simon, thorkilnaur, dmitry.kurochkin
messages: + msg6618
2009-04-05 10:29:17tux_rockersetnosy: + tux_rocker
messages: + msg7576
2009-04-08 19:08:55tux_rockersetnosy: kowey, dagit, simon, thorkilnaur, tux_rocker, dmitry.kurochkin
assignedto: tux_rocker
2009-04-08 20:54:26tux_rockersetnosy: kowey, dagit, simon, thorkilnaur, tux_rocker, dmitry.kurochkin
messages: + msg7607
2009-04-08 21:35:54tux_rockersetnosy: kowey, dagit, simon, thorkilnaur, tux_rocker, dmitry.kurochkin
messages: + msg7608
2009-04-08 21:41:29tux_rockersetstatus: unknown -> deferred
nosy: kowey, dagit, simon, thorkilnaur, tux_rocker, dmitry.kurochkin
2009-04-09 16:21:07koweysetstatus: deferred -> duplicate
nosy: kowey, dagit, simon, thorkilnaur, tux_rocker, dmitry.kurochkin
superseder: + pull =>bug in get_extra commuting patch (2.0.2+77; duplicate patches)
messages: + msg7655
2009-08-10 23:50:58adminsetnosy: - dagit
2009-08-25 17:33:59adminsetnosy: + darcs-devel, - simon
2009-08-27 14:16:46adminsetnosy: kowey, darcs-devel, thorkilnaur, tux_rocker, dmitry.kurochkin