annotate tests/test-evolve-inmemory.t @ 6935:954d7ea5cd67 stable tip

stack: when stack base is obsolete, pick any successor, even if at random There are situations when s0 is obsolete and we also cannot pick just one successor for it to use in stack. In such a case, let's pick the "latest" successor from the first set. We're assuming that obsutil.successorssets() returns data in the same order (it should, since it makes sure to sort data internally). Keeping that in mind, while the successor picked for s0 by this code is not based on any sort of sophisticated logic, it should nonetheless be the same every time. This patch is probably not going to completely break anything that was previously working fine, because the previous behavior was to just abort with an exception.
author Anton Shestakov <av6@dwimlabs.net>
date Sat, 16 Nov 2024 17:01:02 +0400
parents b1d1f4ade142
children 1328195f76a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
1 Tests running `hg evolve` with in-memory merge.
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
2
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
3 $ . $TESTDIR/testlib/common.sh
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
4
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
5 $ cat >> $HGRCPATH <<EOF
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
6 > [extensions]
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
7 > evolve =
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
8 > drawdag=$RUNTESTDIR/drawdag.py
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
9 > [alias]
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
10 > glog = log -G -T '{rev}:{node|short} {separate(" ", phase, tags)}\n{desc|firstline}'
5777
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
11 > [experimental]
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
12 > evolution.in-memory = yes
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
13 > EOF
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
14
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
15 Test evolving a single orphan
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
16
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
17 $ hg init single-orphan
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
18 $ cd single-orphan
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
19 $ hg debugdrawdag <<'EOS'
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
20 > C # C/C = C\n
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
21 > B2 | # B2/B = B2\n
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
22 > | B # B/B = B\n
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
23 > \ / # replace: B -> B2
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
24 > A
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
25 > EOS
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
26 1 new orphan changesets
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
27 $ hg evolve
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
28 move:[3] C
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
29 atop:[2] B2
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
30 $ hg glog
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
31 o 4:a2a0434af50b draft tip
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
32 | C
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
33 | x 3:46f17045c5ee draft C
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
34 | | C
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
35 o | 2:3d6c495db414 draft B2
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
36 | | B2
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
37 | x 1:caf23a7900cb draft B
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
38 |/ B
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
39 o 0:426bada5c675 draft A
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
40 A
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
41 $ hg cat -r tip B C
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
42 B2
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
43 C
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
44 $ cd ..
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
45
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
46 Test that in-memory evolve works when there are conflicts
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
47 and after continuing.
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
48
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
49 $ hg init conflicts
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
50 $ cd conflicts
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
51 $ hg debugdrawdag <<'EOS'
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
52 > E # E/E = E\n
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
53 > |
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
54 > D # D/B = D\n
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
55 > |
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
56 > C # C/C = C\n
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
57 > B2 | # B2/B = B2\n
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
58 > | B # B/B = B\n
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
59 > \ / # replace: B -> B2
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
60 > A
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
61 > EOS
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
62 3 new orphan changesets
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
63 $ hg evolve
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
64 move:[3] C
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
65 atop:[2] B2
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
66 move:[4] D
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
67 merging B
5777
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
68 hit merge conflicts; retrying merge in working copy
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
69 merging B
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
70 warning: conflicts while merging B! (edit, then use 'hg resolve --mark')
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
71 unresolved merge conflicts
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
72 (see 'hg help evolve.interrupted')
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
73 [240]
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
74 $ hg glog
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
75 @ 6:a2a0434af50b draft tip
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
76 | C
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
77 | * 5:844900596917 draft E
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
78 | | E
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
79 | % 4:a75d38413966 draft D
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
80 | | D
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
81 | x 3:46f17045c5ee draft C
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
82 | | C
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
83 o | 2:3d6c495db414 draft B2
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
84 | | B2
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
85 | x 1:caf23a7900cb draft B
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
86 |/ B
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
87 o 0:426bada5c675 draft A
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
88 A
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
89 $ cat C
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
90 C
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
91 $ cat B
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
92 <<<<<<< destination: a2a0434af50b - test: C
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
93 B2
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
94 =======
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
95 D
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
96 >>>>>>> evolving: a75d38413966 D - test: D
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
97 $ echo D2 > B
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
98 $ hg resolve -m
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
99 (no more unresolved files)
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
100 continue: hg evolve --continue
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
101 $ hg evolve --continue
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
102 evolving 4:a75d38413966 "D"
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
103 move:[5] E
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
104 atop:[7] D
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
105 $ hg glog
6316
b1d1f4ade142 evolve: don't embed graft data when completing interrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 6096
diff changeset
106 o 8:918ab8de4edf draft tip
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
107 | E
6316
b1d1f4ade142 evolve: don't embed graft data when completing interrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 6096
diff changeset
108 o 7:c9677354e977 draft
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
109 | D
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
110 o 6:a2a0434af50b draft
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
111 | C
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
112 | x 5:844900596917 draft E
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
113 | | E
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
114 | x 4:a75d38413966 draft D
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
115 | | D
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
116 | x 3:46f17045c5ee draft C
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
117 | | C
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
118 o | 2:3d6c495db414 draft B2
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
119 | | B2
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
120 | x 1:caf23a7900cb draft B
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
121 |/ B
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
122 o 0:426bada5c675 draft A
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
123 A
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
124 $ hg cat -r tip B C E
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
125 D2
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
126 C
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
127 E
5776
453ba695c3d4 tests: add test for in-memory evolve, not actually in-memory yet
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
128 $ cd ..
5777
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
129
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
130 Test that in-memory merge is disabled if there's a precommit hook
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
131
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
132 $ hg init precommit-hook
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
133 $ cd precommit-hook
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
134 $ hg debugdrawdag <<'EOS'
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
135 > C # C/C = C\n
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
136 > B2 | # B2/B = B2\n
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
137 > | B # B/B = B\n
5777
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
138 > \ / # replace: B -> B2
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
139 > A
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
140 > EOS
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
141 1 new orphan changesets
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
142 $ cat >> .hg/hgrc <<EOF
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
143 > [hooks]
6096
cf2b582c1764 tests: run echo through sh -c, to make output the same on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 6094
diff changeset
144 > precommit = sh -c "echo 'running precommit hook'"
5777
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
145 > EOF
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
146 The hook is not run with in-memory=force
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
147 $ hg co B2
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
148 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
149 $ hg evolve --config experimental.evolution.in-memory=force --update
5777
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
150 move:[3] C
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
151 atop:[2] B2
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
152 working directory is now at a2a0434af50b
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
153 $ hg glog
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
154 @ 4:a2a0434af50b draft tip
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
155 | C
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
156 | x 3:46f17045c5ee draft C
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
157 | | C
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
158 o | 2:3d6c495db414 draft B2
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
159 | | B2
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
160 | x 1:caf23a7900cb draft B
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
161 |/ B
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
162 o 0:426bada5c675 draft A
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
163 A
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
164 $ hg co tip^
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
165 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
166 $ hg amend -m B3
5777
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
167 1 new orphan changesets
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
168 The hook is run with in-memory=yes
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
169 $ hg next --config experimental.evolution.in-memory=yes
5777
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
170 move:[4] C
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
171 atop:[5] B3
5777
c5dfbbe4363d evolve: when relocating, optionally first try to do it using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5776
diff changeset
172 running precommit hook
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
173 working directory is now at 24f38f1ca271
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
174 $ hg glog
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
175 @ 6:24f38f1ca271 draft tip
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
176 | C
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
177 o 5:b43c30321752 draft
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
178 | B3
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
179 | x 3:46f17045c5ee draft C
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
180 | | C
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
181 +---x 2:3d6c495db414 draft B2
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
182 | | B2
6094
c1094cce56ed tests: avoid case-folding issue in test-evolve-inmemory.t on windows
Anton Shestakov <av6@dwimlabs.net>
parents: 5778
diff changeset
183 | x 1:caf23a7900cb draft B
5778
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
184 |/ B
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
185 o 0:426bada5c675 draft A
84affb254cdf evolvecmd: don't update working copy when using in-memory merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 5777
diff changeset
186 A