2007/10/11, Pekka Pessi <[EMAIL PROTECTED]>:
> Looks like rolling back two depending patches does not work as expected.
I tried to figure out what is happening there. Run rollback-bug
script, then toy around in repos:
hamsa /tmp/demo/A $ darcs changes --reverse -v
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
* p1
addfile ./content
hunk ./content 1
+1
+12
+123
+1234
+123
+12
+1
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
* p2
hunk ./content 4
+1234
+12345
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
* p3
hunk ./content 4
-1234
-12345
-1234
+01234
+012345
+01234
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
UNDO: p3
hunk ./content 4
-01234
-012345
-01234
+1234
+12345
+1234
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
UNDO: p2
merger 0.0 (
hunk ./content 4
-01234
-012345
-01234
+1234
+12345
+1234
merger 0.0 (
hunk ./content 4
-1234
-12345
-1234
+01234
+012345
+01234
hunk ./content 4
-1234
-12345
)
)
I think this indicates that applying -p2 results in merger (-p3, (p3,
-p2)) - quite correctly I think. So we have hunks from p1, p2, -p2.
But the darcs does not use the resulting hunk as expected. Actually,
it is not doing *anything* with last patch:
hamsa /tmp/demo/A $ darcs diff --last 1
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
UNDO: p2
hamsa /tmp/demo/A $
So let's try to see what is happening if we apply p3 and -p3 to B:
hamsa /tmp/demo/A $ darcs push ../B
Pushing to "../B"...
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
* p3
Shall I push this patch? (1/2) [ynWvpxqadjk], or ? for help: y
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
UNDO: p3
Shall I push this patch? (2/2) [ynWvpxqadjk], or ? for help: y
Finished applying...
hamsa /tmp/demo/A $ darcs changes --reverse -v --repo ../B
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
* p1
addfile ./content
hunk ./content 1
+1
+12
+123
+1234
+123
+12
+1
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
* p2
hunk ./content 4
+1234
+12345
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
UNDO: p2
hunk ./content 4
-1234
-12345
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
* p3
merger 0.0 (
hunk ./content 4
-1234
-12345
hunk ./content 4
-1234
-12345
-1234
+01234
+012345
+01234
)
Thu Oct 11 13:10:44 EEST 2007 Pekka Pessi <[EMAIL PROTECTED]>
UNDO: p3
merger 0.0 (
merger 0.0 (
hunk ./content 4
-1234
-12345
-1234
+01234
+012345
+01234
hunk ./content 4
-1234
-12345
)
hunk ./content 4
-01234
-012345
-01234
+1234
+12345
+1234
)
So when the last patch is applied, we get merger ((p3, -p2), -p3) =>
-p3. Darcs seems to be applying the hunks shown in changes -v
correctly.
At least end result is same in A and B:
hamsa /tmp/demo/A $ diff content ../B/content
hamsa /tmp/demo/A $ diff content f2
--
Pekka.Pessi mail at nokia.com
_______________________________________________
darcs-devel mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-devel