comparison tests/test-evolve-issue5967.t @ 4688:75329efe56a9 stable

tests: demonstrate obsmarker creation after discarding conflicting changes Continued evolve creates an incorrect obsmarker that says 2 is a successor of 1. It's incorrect because 1 was dropped as it created no changes to commit (after conflict resolution that discarded its changes). If evolve does the same thing in one go (e.g. just by using --tool :local and without subsequent need to continue) the obsmarker is correct.
author Anton Shestakov <av6@dwimlabs.net>
date Sat, 22 Dec 2018 18:31:32 +0800
parents
children 27947b17cfaf
comparison
equal deleted inserted replaced
4687:313565dd75e3 4688:75329efe56a9
1 hg evolve --continue and obsmarkers after conflict resolution with no changes to commit (issue5967)
2 https://bz.mercurial-scm.org/show_bug.cgi?id=5967
3
4 $ . $TESTDIR/testlib/common.sh
5
6 $ hg init issue5967
7 $ cd issue5967
8 $ cat > .hg/hgrc << EOF
9 > [alias]
10 > glog = log -GT "{rev}: {desc}"
11 > [extensions]
12 > evolve=
13 > EOF
14
15 $ echo apple > a
16 $ hg ci -qAm 'apple'
17 $ echo banana > a
18 $ hg ci -m 'banana'
19
20 Amending revision 0 in a way that causes conflicts
21
22 $ hg prev
23 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
24 [0] apple
25 $ echo apricot > a
26 $ hg amend -m 'apricot'
27 1 new orphan changesets
28
29 $ hg glog
30 @ 2: apricot
31
32 * 1: banana
33 |
34 x 0: apple
35
36
37 Trying to evolve, then manually discarding changes from revision 1
38
39 $ hg evolve
40 move:[1] banana
41 atop:[2] apricot
42 merging a
43 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
44 fix conflicts and see `hg help evolve.interrupted`
45 [1]
46
47 $ echo apricot > a
48 $ hg resolve --mark a
49 (no more unresolved files)
50 continue: hg evolve --continue
51
52 This will correctly notice that revision 1 can be dropped
53
54 $ hg evolve --continue
55 evolving 1:dd9b5dd30cd6 "banana"
56 evolution of 1:dd9b5dd30cd6 created no changes to commit
57 working directory is now at 4d6fec23dcc4
58 $ hg glog
59 @ 2: apricot
60
61 $ hg olog --all
62 @ 4d6fec23dcc4 (2) apricot
63 |\
64 x | 3ba7db0ce860 (0) apple
65 / rewritten(description, content) as 4d6fec23dcc4 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
66 |
67 x dd9b5dd30cd6 (1) banana
68 rewritten(description, parent, content) as 4d6fec23dcc4 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
69
70 $ hg olog --hidden --all 1
71 @ 4d6fec23dcc4 (2) apricot
72 |\
73 x | 3ba7db0ce860 (0) apple
74 / rewritten(description, content) as 4d6fec23dcc4 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
75 |
76 x dd9b5dd30cd6 (1) banana
77 rewritten(description, parent, content) as 4d6fec23dcc4 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
78