|
1 This test file test the rewind command in several situations. |
|
2 |
|
3 Global setup |
|
4 ============ |
|
5 |
|
6 $ . $TESTDIR/testlib/common.sh |
|
7 $ cat >> $HGRCPATH <<EOF |
|
8 > [ui] |
|
9 > interactive = true |
|
10 > [phases] |
|
11 > publish=False |
|
12 > [extensions] |
|
13 > evolve = |
|
14 > EOF |
|
15 |
|
16 $ hg init rewind-testing-base |
|
17 $ cd rewind-testing-base |
|
18 $ echo a > root |
|
19 $ hg add root |
|
20 $ hg ci -m 'c_ROOT' |
|
21 $ echo a > A |
|
22 $ hg add A |
|
23 $ hg ci -m 'c_A0' |
|
24 $ echo a > B |
|
25 $ hg add B |
|
26 $ hg ci -m 'c_B0' |
|
27 $ hg log -G |
|
28 @ changeset: 2:7e594302a05d |
|
29 | tag: tip |
|
30 | user: test |
|
31 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
32 | summary: c_B0 |
|
33 | |
|
34 o changeset: 1:579f120ba918 |
|
35 | user: test |
|
36 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
37 | summary: c_A0 |
|
38 | |
|
39 o changeset: 0:eba9c2249fe7 |
|
40 user: test |
|
41 date: Thu Jan 01 00:00:00 1970 +0000 |
|
42 summary: c_ROOT |
|
43 |
|
44 |
|
45 $ cd .. |
|
46 |
|
47 Test rewinding to single changesets |
|
48 ==================================== |
|
49 |
|
50 $ hg clone rewind-testing-base rewind-testing-simple-prune |
|
51 updating to branch default |
|
52 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
53 $ cd rewind-testing-simple-prune |
|
54 |
|
55 Prune changeset unrelated to the working copy |
|
56 --------------------------------------------- |
|
57 |
|
58 Setup |
|
59 ````` |
|
60 |
|
61 Update to an unrelated changeset |
|
62 |
|
63 $ hg up 'desc("c_ROOT")' |
|
64 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
65 |
|
66 Prune the head |
|
67 |
|
68 $ hg prune -r 'desc("c_B0")' |
|
69 1 changesets pruned |
|
70 $ hg log -G |
|
71 o changeset: 1:579f120ba918 |
|
72 | tag: tip |
|
73 | user: test |
|
74 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
75 | summary: c_A0 |
|
76 | |
|
77 @ changeset: 0:eba9c2249fe7 |
|
78 user: test |
|
79 date: Thu Jan 01 00:00:00 1970 +0000 |
|
80 summary: c_ROOT |
|
81 |
|
82 |
|
83 Actual rewind |
|
84 ````````````` |
|
85 |
|
86 $ hg rewind --hidden --to 'desc("c_B0")' |
|
87 $ hg debugobsolete |
|
88 7e594302a05d3769b27be88fc3cdfd39d7498498 0 {579f120ba91885449adc92eedf48ef3569742cee} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'} |
|
89 7e594302a05d3769b27be88fc3cdfd39d7498498 073989a581cf430a844192364fa37606357cbbc2 4 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'} |
|
90 $ hg obslog -r 'desc("c_B0")' |
|
91 o 073989a581cf (3) c_B0 |
|
92 | |
|
93 x 7e594302a05d (2) c_B0 |
|
94 pruned using prune by test (Thu Jan 01 00:00:00 1970 +0000) |
|
95 rewritten(meta) as 073989a581cf using rewind by test (Thu Jan 01 00:00:00 1970 +0000) |
|
96 |
|
97 $ hg log -G |
|
98 o changeset: 3:073989a581cf |
|
99 | tag: tip |
|
100 | parent: 1:579f120ba918 |
|
101 | user: test |
|
102 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
103 | summary: c_B0 |
|
104 | |
|
105 o changeset: 1:579f120ba918 |
|
106 | user: test |
|
107 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
108 | summary: c_A0 |
|
109 | |
|
110 @ changeset: 0:eba9c2249fe7 |
|
111 user: test |
|
112 date: Thu Jan 01 00:00:00 1970 +0000 |
|
113 summary: c_ROOT |
|
114 |
|
115 XXX-TODO: fix the obsfate from "meta-changed as 3" to "identical" or something. |
|
116 |
|
117 $ hg log -G --hidden |
|
118 o changeset: 3:073989a581cf |
|
119 | tag: tip |
|
120 | parent: 1:579f120ba918 |
|
121 | user: test |
|
122 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
123 | summary: c_B0 |
|
124 | |
|
125 | x changeset: 2:7e594302a05d |
|
126 |/ user: test |
|
127 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
128 | obsolete: meta-changed using rewind as 3:073989a581cf |
|
129 | summary: c_B0 |
|
130 | |
|
131 o changeset: 1:579f120ba918 |
|
132 | user: test |
|
133 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
134 | summary: c_A0 |
|
135 | |
|
136 @ changeset: 0:eba9c2249fe7 |
|
137 user: test |
|
138 date: Thu Jan 01 00:00:00 1970 +0000 |
|
139 summary: c_ROOT |
|
140 |
|
141 |
|
142 Other independant rewind create a different revision |
|
143 ---------------------------------------------------------- |
|
144 |
|
145 setup |
|
146 ````` |
|
147 |
|
148 note: we use "default-date" to make it a "different rewind" |
|
149 |
|
150 $ echo '[devel]' >> $HGRCPATH |
|
151 $ echo 'default-date = 1 0' >> $HGRCPATH |
|
152 |
|
153 Actual rewind |
|
154 ````````````` |
|
155 |
|
156 $ hg prune 'desc("c_B0")' |
|
157 1 changesets pruned |
|
158 $ hg rewind --hidden --to 'min(desc("c_B0"))' |
|
159 $ hg debugobsolete |
|
160 7e594302a05d3769b27be88fc3cdfd39d7498498 0 {579f120ba91885449adc92eedf48ef3569742cee} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'} |
|
161 7e594302a05d3769b27be88fc3cdfd39d7498498 073989a581cf430a844192364fa37606357cbbc2 4 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'} |
|
162 073989a581cf430a844192364fa37606357cbbc2 0 {579f120ba91885449adc92eedf48ef3569742cee} (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'} |
|
163 7e594302a05d3769b27be88fc3cdfd39d7498498 48acf2c0d9c8961859ce9a913671eb2adc9b057b 4 (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '34', 'operation': 'rewind', 'user': 'test'} |
|
164 $ hg obslog -r 'desc("c_B0")' --all |
|
165 x 073989a581cf (3) c_B0 |
|
166 | pruned using prune by test (Thu Jan 01 00:00:01 1970 +0000) |
|
167 | |
|
168 | o 48acf2c0d9c8 (4) c_B0 |
|
169 |/ |
|
170 x 7e594302a05d (2) c_B0 |
|
171 pruned using prune by test (Thu Jan 01 00:00:00 1970 +0000) |
|
172 rewritten(meta) as 073989a581cf using rewind by test (Thu Jan 01 00:00:00 1970 +0000) |
|
173 rewritten(meta, date) as 48acf2c0d9c8 using rewind by test (Thu Jan 01 00:00:01 1970 +0000) |
|
174 |
|
175 $ hg log -G |
|
176 o changeset: 4:48acf2c0d9c8 |
|
177 | tag: tip |
|
178 | parent: 1:579f120ba918 |
|
179 | user: test |
|
180 | date: Thu Jan 01 00:00:01 1970 +0000 |
|
181 | summary: c_B0 |
|
182 | |
|
183 o changeset: 1:579f120ba918 |
|
184 | user: test |
|
185 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
186 | summary: c_A0 |
|
187 | |
|
188 @ changeset: 0:eba9c2249fe7 |
|
189 user: test |
|
190 date: Thu Jan 01 00:00:00 1970 +0000 |
|
191 summary: c_ROOT |
|
192 |
|
193 $ hg log -G --hidden |
|
194 o changeset: 4:48acf2c0d9c8 |
|
195 | tag: tip |
|
196 | parent: 1:579f120ba918 |
|
197 | user: test |
|
198 | date: Thu Jan 01 00:00:01 1970 +0000 |
|
199 | summary: c_B0 |
|
200 | |
|
201 | x changeset: 3:073989a581cf |
|
202 |/ parent: 1:579f120ba918 |
|
203 | user: test |
|
204 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
205 | obsolete: pruned using prune |
|
206 | summary: c_B0 |
|
207 | |
|
208 | x changeset: 2:7e594302a05d |
|
209 |/ user: test |
|
210 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
211 | obsolete: rewritten using rewind as 4:48acf2c0d9c8 |
|
212 | obsolete: meta-changed using rewind as 3:073989a581cf |
|
213 | summary: c_B0 |
|
214 | |
|
215 o changeset: 1:579f120ba918 |
|
216 | user: test |
|
217 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
218 | summary: c_A0 |
|
219 | |
|
220 @ changeset: 0:eba9c2249fe7 |
|
221 user: test |
|
222 date: Thu Jan 01 00:00:00 1970 +0000 |
|
223 summary: c_ROOT |
|
224 |
|
225 $ cd .. |