Show More
@@ -1,53 +1,53 b'' | |||||
1 | b51a8138292a introduced a regression where we would mention in the |
|
1 | b51a8138292a introduced a regression where we would mention in the | |
2 | changelog executable files added by the second parent of a merge. Test |
|
2 | changelog executable files added by the second parent of a merge. Test | |
3 | that that doesn't happen anymore |
|
3 | that that doesn't happen anymore | |
4 |
|
4 | |||
5 | $ "$TESTDIR/hghave" execbit || exit 80 |
|
5 | $ "$TESTDIR/hghave" execbit || exit 80 | |
6 |
|
6 | |||
7 | $ hg init repo |
|
7 | $ hg init repo | |
8 | $ cd repo |
|
8 | $ cd repo | |
9 | $ echo foo > foo |
|
9 | $ echo foo > foo | |
10 | $ hg ci -qAm 'add foo' |
|
10 | $ hg ci -qAm 'add foo' | |
11 |
|
11 | |||
12 | $ echo bar > bar |
|
12 | $ echo bar > bar | |
13 | $ chmod +x bar |
|
13 | $ chmod +x bar | |
14 | $ hg ci -qAm 'add bar' |
|
14 | $ hg ci -qAm 'add bar' | |
15 |
|
15 | |||
16 | manifest of p2: |
|
16 | manifest of p2: | |
17 |
|
17 | |||
18 | $ hg manifest |
|
18 | $ hg manifest | |
19 | bar |
|
19 | bar | |
20 | foo |
|
20 | foo | |
21 |
|
21 | |||
22 | $ hg up -qC 0 |
|
22 | $ hg up -qC 0 | |
23 | $ echo >> foo |
|
23 | $ echo >> foo | |
24 | $ hg ci -m 'change foo' |
|
24 | $ hg ci -m 'change foo' | |
25 | created new head |
|
25 | created new head | |
26 |
|
26 | |||
27 | manifest of p1: |
|
27 | manifest of p1: | |
28 |
|
28 | |||
29 | $ hg manifest |
|
29 | $ hg manifest | |
30 | foo |
|
30 | foo | |
31 |
|
31 | |||
32 | $ hg merge |
|
32 | $ hg merge | |
33 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
33 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
34 | (branch merge, don't forget to commit) |
|
34 | (branch merge, don't forget to commit) | |
35 | $ hg ci -m 'merge' |
|
35 | $ hg ci -m 'merge' | |
36 |
|
36 | |||
37 | this should not mention bar: |
|
37 | this should not mention bar: | |
38 |
|
38 | |||
39 | $ hg tip -v |
|
39 | $ hg tip -v | |
40 | changeset: 3:ef2fc9b4a51b |
|
40 | changeset: 3:ef2fc9b4a51b | |
41 | tag: tip |
|
41 | tag: tip | |
42 | parent: 2:ed1b79f46b9a |
|
42 | parent: 2:ed1b79f46b9a | |
43 | parent: 1:d394a8db219b |
|
43 | parent: 1:d394a8db219b | |
44 | user: test |
|
44 | user: test | |
45 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
45 | date: Thu Jan 01 00:00:00 1970 +0000 | |
46 | description: |
|
46 | description: | |
47 | merge |
|
47 | merge | |
48 |
|
48 | |||
49 |
|
49 | |||
50 |
|
50 | |||
51 |
$ hg debugindex |
|
51 | $ hg debugindex bar | |
52 | rev offset length base linkrev nodeid p1 p2 |
|
52 | rev offset length base linkrev nodeid p1 p2 | |
53 | 0 0 5 0 1 b004912a8510 000000000000 000000000000 |
|
53 | 0 0 5 0 1 b004912a8510 000000000000 000000000000 |
@@ -1,220 +1,220 b'' | |||||
1 | $ hg init test |
|
1 | $ hg init test | |
2 | $ cd test |
|
2 | $ cd test | |
3 |
|
3 | |||
4 | $ echo 0 >> afile |
|
4 | $ echo 0 >> afile | |
5 | $ hg add afile |
|
5 | $ hg add afile | |
6 | $ hg commit -m "0.0" |
|
6 | $ hg commit -m "0.0" | |
7 |
|
7 | |||
8 | $ echo 1 >> afile |
|
8 | $ echo 1 >> afile | |
9 | $ hg commit -m "0.1" |
|
9 | $ hg commit -m "0.1" | |
10 |
|
10 | |||
11 | $ echo 2 >> afile |
|
11 | $ echo 2 >> afile | |
12 | $ hg commit -m "0.2" |
|
12 | $ hg commit -m "0.2" | |
13 |
|
13 | |||
14 | $ echo 3 >> afile |
|
14 | $ echo 3 >> afile | |
15 | $ hg commit -m "0.3" |
|
15 | $ hg commit -m "0.3" | |
16 |
|
16 | |||
17 | $ hg update -C 0 |
|
17 | $ hg update -C 0 | |
18 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
18 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
19 |
|
19 | |||
20 | $ echo 1 >> afile |
|
20 | $ echo 1 >> afile | |
21 | $ hg commit -m "1.1" |
|
21 | $ hg commit -m "1.1" | |
22 | created new head |
|
22 | created new head | |
23 |
|
23 | |||
24 | $ echo 2 >> afile |
|
24 | $ echo 2 >> afile | |
25 | $ hg commit -m "1.2" |
|
25 | $ hg commit -m "1.2" | |
26 |
|
26 | |||
27 | $ echo a line > fred |
|
27 | $ echo a line > fred | |
28 | $ echo 3 >> afile |
|
28 | $ echo 3 >> afile | |
29 | $ hg add fred |
|
29 | $ hg add fred | |
30 | $ hg commit -m "1.3" |
|
30 | $ hg commit -m "1.3" | |
31 | $ hg mv afile adifferentfile |
|
31 | $ hg mv afile adifferentfile | |
32 | $ hg commit -m "1.3m" |
|
32 | $ hg commit -m "1.3m" | |
33 |
|
33 | |||
34 | $ hg update -C 3 |
|
34 | $ hg update -C 3 | |
35 | 1 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
35 | 1 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
36 |
|
36 | |||
37 | $ hg mv afile anotherfile |
|
37 | $ hg mv afile anotherfile | |
38 | $ hg commit -m "0.3m" |
|
38 | $ hg commit -m "0.3m" | |
39 |
|
39 | |||
40 |
$ hg debugindex -f 1 |
|
40 | $ hg debugindex -f 1 afile | |
41 | rev flag offset length size base link p1 p2 nodeid |
|
41 | rev flag offset length size base link p1 p2 nodeid | |
42 | 0 0000 0 3 2 0 0 -1 -1 362fef284ce2 |
|
42 | 0 0000 0 3 2 0 0 -1 -1 362fef284ce2 | |
43 | 1 0000 3 5 4 1 1 0 -1 125144f7e028 |
|
43 | 1 0000 3 5 4 1 1 0 -1 125144f7e028 | |
44 | 2 0000 8 7 6 2 2 1 -1 4c982badb186 |
|
44 | 2 0000 8 7 6 2 2 1 -1 4c982badb186 | |
45 | 3 0000 15 9 8 3 3 2 -1 19b1fc555737 |
|
45 | 3 0000 15 9 8 3 3 2 -1 19b1fc555737 | |
46 |
|
46 | |||
47 |
$ hg debugindex |
|
47 | $ hg debugindex adifferentfile | |
48 | rev offset length base linkrev nodeid p1 p2 |
|
48 | rev offset length base linkrev nodeid p1 p2 | |
49 | 0 0 75 0 7 2565f3199a74 000000000000 000000000000 |
|
49 | 0 0 75 0 7 2565f3199a74 000000000000 000000000000 | |
50 |
|
50 | |||
51 |
$ hg debugindex |
|
51 | $ hg debugindex anotherfile | |
52 | rev offset length base linkrev nodeid p1 p2 |
|
52 | rev offset length base linkrev nodeid p1 p2 | |
53 | 0 0 75 0 8 2565f3199a74 000000000000 000000000000 |
|
53 | 0 0 75 0 8 2565f3199a74 000000000000 000000000000 | |
54 |
|
54 | |||
55 |
$ hg debugindex |
|
55 | $ hg debugindex fred | |
56 | rev offset length base linkrev nodeid p1 p2 |
|
56 | rev offset length base linkrev nodeid p1 p2 | |
57 | 0 0 8 0 6 12ab3bcc5ea4 000000000000 000000000000 |
|
57 | 0 0 8 0 6 12ab3bcc5ea4 000000000000 000000000000 | |
58 |
|
58 | |||
59 | $ hg debugindex .hg/store/00manifest.i |
|
59 | $ hg debugindex .hg/store/00manifest.i | |
60 | rev offset length base linkrev nodeid p1 p2 |
|
60 | rev offset length base linkrev nodeid p1 p2 | |
61 | 0 0 48 0 0 43eadb1d2d06 000000000000 000000000000 |
|
61 | 0 0 48 0 0 43eadb1d2d06 000000000000 000000000000 | |
62 | 1 48 48 1 1 8b89697eba2c 43eadb1d2d06 000000000000 |
|
62 | 1 48 48 1 1 8b89697eba2c 43eadb1d2d06 000000000000 | |
63 | 2 96 48 2 2 626a32663c2f 8b89697eba2c 000000000000 |
|
63 | 2 96 48 2 2 626a32663c2f 8b89697eba2c 000000000000 | |
64 | 3 144 48 3 3 f54c32f13478 626a32663c2f 000000000000 |
|
64 | 3 144 48 3 3 f54c32f13478 626a32663c2f 000000000000 | |
65 | 4 192 58 3 6 de68e904d169 626a32663c2f 000000000000 |
|
65 | 4 192 58 3 6 de68e904d169 626a32663c2f 000000000000 | |
66 | 5 250 68 3 7 09bb521d218d de68e904d169 000000000000 |
|
66 | 5 250 68 3 7 09bb521d218d de68e904d169 000000000000 | |
67 | 6 318 54 6 8 1fde233dfb0f f54c32f13478 000000000000 |
|
67 | 6 318 54 6 8 1fde233dfb0f f54c32f13478 000000000000 | |
68 |
|
68 | |||
69 | $ hg verify |
|
69 | $ hg verify | |
70 | checking changesets |
|
70 | checking changesets | |
71 | checking manifests |
|
71 | checking manifests | |
72 | crosschecking files in changesets and manifests |
|
72 | crosschecking files in changesets and manifests | |
73 | checking files |
|
73 | checking files | |
74 | 4 files, 9 changesets, 7 total revisions |
|
74 | 4 files, 9 changesets, 7 total revisions | |
75 |
|
75 | |||
76 | $ cd .. |
|
76 | $ cd .. | |
77 |
|
77 | |||
78 | $ for i in 0 1 2 3 4 5 6 7 8; do |
|
78 | $ for i in 0 1 2 3 4 5 6 7 8; do | |
79 | > echo |
|
79 | > echo | |
80 | > echo ---- hg clone -r "$i" test test-"$i" |
|
80 | > echo ---- hg clone -r "$i" test test-"$i" | |
81 | > hg clone -r "$i" test test-"$i" |
|
81 | > hg clone -r "$i" test test-"$i" | |
82 | > cd test-"$i" |
|
82 | > cd test-"$i" | |
83 | > hg verify |
|
83 | > hg verify | |
84 | > cd .. |
|
84 | > cd .. | |
85 | > done |
|
85 | > done | |
86 |
|
86 | |||
87 | ---- hg clone -r 0 test test-0 |
|
87 | ---- hg clone -r 0 test test-0 | |
88 | adding changesets |
|
88 | adding changesets | |
89 | adding manifests |
|
89 | adding manifests | |
90 | adding file changes |
|
90 | adding file changes | |
91 | added 1 changesets with 1 changes to 1 files |
|
91 | added 1 changesets with 1 changes to 1 files | |
92 | updating to branch default |
|
92 | updating to branch default | |
93 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
93 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
94 | checking changesets |
|
94 | checking changesets | |
95 | checking manifests |
|
95 | checking manifests | |
96 | crosschecking files in changesets and manifests |
|
96 | crosschecking files in changesets and manifests | |
97 | checking files |
|
97 | checking files | |
98 | 1 files, 1 changesets, 1 total revisions |
|
98 | 1 files, 1 changesets, 1 total revisions | |
99 |
|
99 | |||
100 | ---- hg clone -r 1 test test-1 |
|
100 | ---- hg clone -r 1 test test-1 | |
101 | adding changesets |
|
101 | adding changesets | |
102 | adding manifests |
|
102 | adding manifests | |
103 | adding file changes |
|
103 | adding file changes | |
104 | added 2 changesets with 2 changes to 1 files |
|
104 | added 2 changesets with 2 changes to 1 files | |
105 | updating to branch default |
|
105 | updating to branch default | |
106 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
106 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
107 | checking changesets |
|
107 | checking changesets | |
108 | checking manifests |
|
108 | checking manifests | |
109 | crosschecking files in changesets and manifests |
|
109 | crosschecking files in changesets and manifests | |
110 | checking files |
|
110 | checking files | |
111 | 1 files, 2 changesets, 2 total revisions |
|
111 | 1 files, 2 changesets, 2 total revisions | |
112 |
|
112 | |||
113 | ---- hg clone -r 2 test test-2 |
|
113 | ---- hg clone -r 2 test test-2 | |
114 | adding changesets |
|
114 | adding changesets | |
115 | adding manifests |
|
115 | adding manifests | |
116 | adding file changes |
|
116 | adding file changes | |
117 | added 3 changesets with 3 changes to 1 files |
|
117 | added 3 changesets with 3 changes to 1 files | |
118 | updating to branch default |
|
118 | updating to branch default | |
119 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
119 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
120 | checking changesets |
|
120 | checking changesets | |
121 | checking manifests |
|
121 | checking manifests | |
122 | crosschecking files in changesets and manifests |
|
122 | crosschecking files in changesets and manifests | |
123 | checking files |
|
123 | checking files | |
124 | 1 files, 3 changesets, 3 total revisions |
|
124 | 1 files, 3 changesets, 3 total revisions | |
125 |
|
125 | |||
126 | ---- hg clone -r 3 test test-3 |
|
126 | ---- hg clone -r 3 test test-3 | |
127 | adding changesets |
|
127 | adding changesets | |
128 | adding manifests |
|
128 | adding manifests | |
129 | adding file changes |
|
129 | adding file changes | |
130 | added 4 changesets with 4 changes to 1 files |
|
130 | added 4 changesets with 4 changes to 1 files | |
131 | updating to branch default |
|
131 | updating to branch default | |
132 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
132 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
133 | checking changesets |
|
133 | checking changesets | |
134 | checking manifests |
|
134 | checking manifests | |
135 | crosschecking files in changesets and manifests |
|
135 | crosschecking files in changesets and manifests | |
136 | checking files |
|
136 | checking files | |
137 | 1 files, 4 changesets, 4 total revisions |
|
137 | 1 files, 4 changesets, 4 total revisions | |
138 |
|
138 | |||
139 | ---- hg clone -r 4 test test-4 |
|
139 | ---- hg clone -r 4 test test-4 | |
140 | adding changesets |
|
140 | adding changesets | |
141 | adding manifests |
|
141 | adding manifests | |
142 | adding file changes |
|
142 | adding file changes | |
143 | added 2 changesets with 2 changes to 1 files |
|
143 | added 2 changesets with 2 changes to 1 files | |
144 | updating to branch default |
|
144 | updating to branch default | |
145 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
145 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
146 | checking changesets |
|
146 | checking changesets | |
147 | checking manifests |
|
147 | checking manifests | |
148 | crosschecking files in changesets and manifests |
|
148 | crosschecking files in changesets and manifests | |
149 | checking files |
|
149 | checking files | |
150 | 1 files, 2 changesets, 2 total revisions |
|
150 | 1 files, 2 changesets, 2 total revisions | |
151 |
|
151 | |||
152 | ---- hg clone -r 5 test test-5 |
|
152 | ---- hg clone -r 5 test test-5 | |
153 | adding changesets |
|
153 | adding changesets | |
154 | adding manifests |
|
154 | adding manifests | |
155 | adding file changes |
|
155 | adding file changes | |
156 | added 3 changesets with 3 changes to 1 files |
|
156 | added 3 changesets with 3 changes to 1 files | |
157 | updating to branch default |
|
157 | updating to branch default | |
158 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
158 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
159 | checking changesets |
|
159 | checking changesets | |
160 | checking manifests |
|
160 | checking manifests | |
161 | crosschecking files in changesets and manifests |
|
161 | crosschecking files in changesets and manifests | |
162 | checking files |
|
162 | checking files | |
163 | 1 files, 3 changesets, 3 total revisions |
|
163 | 1 files, 3 changesets, 3 total revisions | |
164 |
|
164 | |||
165 | ---- hg clone -r 6 test test-6 |
|
165 | ---- hg clone -r 6 test test-6 | |
166 | adding changesets |
|
166 | adding changesets | |
167 | adding manifests |
|
167 | adding manifests | |
168 | adding file changes |
|
168 | adding file changes | |
169 | added 4 changesets with 5 changes to 2 files |
|
169 | added 4 changesets with 5 changes to 2 files | |
170 | updating to branch default |
|
170 | updating to branch default | |
171 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
171 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
172 | checking changesets |
|
172 | checking changesets | |
173 | checking manifests |
|
173 | checking manifests | |
174 | crosschecking files in changesets and manifests |
|
174 | crosschecking files in changesets and manifests | |
175 | checking files |
|
175 | checking files | |
176 | 2 files, 4 changesets, 5 total revisions |
|
176 | 2 files, 4 changesets, 5 total revisions | |
177 |
|
177 | |||
178 | ---- hg clone -r 7 test test-7 |
|
178 | ---- hg clone -r 7 test test-7 | |
179 | adding changesets |
|
179 | adding changesets | |
180 | adding manifests |
|
180 | adding manifests | |
181 | adding file changes |
|
181 | adding file changes | |
182 | added 5 changesets with 6 changes to 3 files |
|
182 | added 5 changesets with 6 changes to 3 files | |
183 | updating to branch default |
|
183 | updating to branch default | |
184 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
184 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
185 | checking changesets |
|
185 | checking changesets | |
186 | checking manifests |
|
186 | checking manifests | |
187 | crosschecking files in changesets and manifests |
|
187 | crosschecking files in changesets and manifests | |
188 | checking files |
|
188 | checking files | |
189 | 3 files, 5 changesets, 6 total revisions |
|
189 | 3 files, 5 changesets, 6 total revisions | |
190 |
|
190 | |||
191 | ---- hg clone -r 8 test test-8 |
|
191 | ---- hg clone -r 8 test test-8 | |
192 | adding changesets |
|
192 | adding changesets | |
193 | adding manifests |
|
193 | adding manifests | |
194 | adding file changes |
|
194 | adding file changes | |
195 | added 5 changesets with 5 changes to 2 files |
|
195 | added 5 changesets with 5 changes to 2 files | |
196 | updating to branch default |
|
196 | updating to branch default | |
197 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
197 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
198 | checking changesets |
|
198 | checking changesets | |
199 | checking manifests |
|
199 | checking manifests | |
200 | crosschecking files in changesets and manifests |
|
200 | crosschecking files in changesets and manifests | |
201 | checking files |
|
201 | checking files | |
202 | 2 files, 5 changesets, 5 total revisions |
|
202 | 2 files, 5 changesets, 5 total revisions | |
203 |
|
203 | |||
204 | $ cd test-8 |
|
204 | $ cd test-8 | |
205 | $ hg pull ../test-7 |
|
205 | $ hg pull ../test-7 | |
206 | pulling from ../test-7 |
|
206 | pulling from ../test-7 | |
207 | searching for changes |
|
207 | searching for changes | |
208 | adding changesets |
|
208 | adding changesets | |
209 | adding manifests |
|
209 | adding manifests | |
210 | adding file changes |
|
210 | adding file changes | |
211 | added 4 changesets with 2 changes to 3 files (+1 heads) |
|
211 | added 4 changesets with 2 changes to 3 files (+1 heads) | |
212 | (run 'hg heads' to see heads, 'hg merge' to merge) |
|
212 | (run 'hg heads' to see heads, 'hg merge' to merge) | |
213 | $ hg verify |
|
213 | $ hg verify | |
214 | checking changesets |
|
214 | checking changesets | |
215 | checking manifests |
|
215 | checking manifests | |
216 | crosschecking files in changesets and manifests |
|
216 | crosschecking files in changesets and manifests | |
217 | checking files |
|
217 | checking files | |
218 | 4 files, 9 changesets, 7 total revisions |
|
218 | 4 files, 9 changesets, 7 total revisions | |
219 | $ cd .. |
|
219 | $ cd .. | |
220 |
|
220 |
@@ -1,16 +1,16 b'' | |||||
1 | $ hg init dir |
|
1 | $ hg init dir | |
2 | $ cd dir |
|
2 | $ cd dir | |
3 | $ echo bleh > bar |
|
3 | $ echo bleh > bar | |
4 | $ hg add bar |
|
4 | $ hg add bar | |
5 | $ hg ci -m 'add bar' |
|
5 | $ hg ci -m 'add bar' | |
6 |
|
6 | |||
7 | $ hg cp bar foo |
|
7 | $ hg cp bar foo | |
8 | $ echo >> bar |
|
8 | $ echo >> bar | |
9 | $ hg ci -m 'cp bar foo; change bar' |
|
9 | $ hg ci -m 'cp bar foo; change bar' | |
10 |
|
10 | |||
11 | $ hg debugrename foo |
|
11 | $ hg debugrename foo | |
12 | foo renamed from bar:26d3ca0dfd18e44d796b564e38dd173c9668d3a9 |
|
12 | foo renamed from bar:26d3ca0dfd18e44d796b564e38dd173c9668d3a9 | |
13 |
$ hg debugindex |
|
13 | $ hg debugindex bar | |
14 | rev offset length base linkrev nodeid p1 p2 |
|
14 | rev offset length base linkrev nodeid p1 p2 | |
15 | 0 0 6 0 0 26d3ca0dfd18 000000000000 000000000000 |
|
15 | 0 0 6 0 0 26d3ca0dfd18 000000000000 000000000000 | |
16 | 1 6 7 1 1 d267bddd54f7 26d3ca0dfd18 000000000000 |
|
16 | 1 6 7 1 1 d267bddd54f7 26d3ca0dfd18 000000000000 |
@@ -1,94 +1,94 b'' | |||||
1 | $ hg init |
|
1 | $ hg init | |
2 | $ echo a > a |
|
2 | $ echo a > a | |
3 | $ hg add a |
|
3 | $ hg add a | |
4 | $ hg commit -m "1" |
|
4 | $ hg commit -m "1" | |
5 | $ hg status |
|
5 | $ hg status | |
6 | $ hg copy a b |
|
6 | $ hg copy a b | |
7 | $ hg --config ui.portablefilenames=abort copy a con.xml |
|
7 | $ hg --config ui.portablefilenames=abort copy a con.xml | |
8 | abort: filename contains 'con', which is reserved on Windows: 'con.xml' |
|
8 | abort: filename contains 'con', which is reserved on Windows: 'con.xml' | |
9 | [255] |
|
9 | [255] | |
10 | $ hg status |
|
10 | $ hg status | |
11 | A b |
|
11 | A b | |
12 | $ hg sum |
|
12 | $ hg sum | |
13 | parent: 0:c19d34741b0a tip |
|
13 | parent: 0:c19d34741b0a tip | |
14 | 1 |
|
14 | 1 | |
15 | branch: default |
|
15 | branch: default | |
16 | commit: 1 copied |
|
16 | commit: 1 copied | |
17 | update: (current) |
|
17 | update: (current) | |
18 | $ hg --debug commit -m "2" |
|
18 | $ hg --debug commit -m "2" | |
19 | b |
|
19 | b | |
20 | b: copy a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 |
|
20 | b: copy a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 | |
21 | committed changeset 1:93580a2c28a50a56f63526fb305067e6fbf739c4 |
|
21 | committed changeset 1:93580a2c28a50a56f63526fb305067e6fbf739c4 | |
22 |
|
22 | |||
23 | we should see two history entries |
|
23 | we should see two history entries | |
24 |
|
24 | |||
25 | $ hg history -v |
|
25 | $ hg history -v | |
26 | changeset: 1:93580a2c28a5 |
|
26 | changeset: 1:93580a2c28a5 | |
27 | tag: tip |
|
27 | tag: tip | |
28 | user: test |
|
28 | user: test | |
29 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
29 | date: Thu Jan 01 00:00:00 1970 +0000 | |
30 | files: b |
|
30 | files: b | |
31 | description: |
|
31 | description: | |
32 | 2 |
|
32 | 2 | |
33 |
|
33 | |||
34 |
|
34 | |||
35 | changeset: 0:c19d34741b0a |
|
35 | changeset: 0:c19d34741b0a | |
36 | user: test |
|
36 | user: test | |
37 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
37 | date: Thu Jan 01 00:00:00 1970 +0000 | |
38 | files: a |
|
38 | files: a | |
39 | description: |
|
39 | description: | |
40 | 1 |
|
40 | 1 | |
41 |
|
41 | |||
42 |
|
42 | |||
43 |
|
43 | |||
44 | we should see one log entry for a |
|
44 | we should see one log entry for a | |
45 |
|
45 | |||
46 | $ hg log a |
|
46 | $ hg log a | |
47 | changeset: 0:c19d34741b0a |
|
47 | changeset: 0:c19d34741b0a | |
48 | user: test |
|
48 | user: test | |
49 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
49 | date: Thu Jan 01 00:00:00 1970 +0000 | |
50 | summary: 1 |
|
50 | summary: 1 | |
51 |
|
51 | |||
52 |
|
52 | |||
53 | this should show a revision linked to changeset 0 |
|
53 | this should show a revision linked to changeset 0 | |
54 |
|
54 | |||
55 |
$ hg debugindex |
|
55 | $ hg debugindex a | |
56 | rev offset length base linkrev nodeid p1 p2 |
|
56 | rev offset length base linkrev nodeid p1 p2 | |
57 | 0 0 3 0 0 b789fdd96dc2 000000000000 000000000000 |
|
57 | 0 0 3 0 0 b789fdd96dc2 000000000000 000000000000 | |
58 |
|
58 | |||
59 | we should see one log entry for b |
|
59 | we should see one log entry for b | |
60 |
|
60 | |||
61 | $ hg log b |
|
61 | $ hg log b | |
62 | changeset: 1:93580a2c28a5 |
|
62 | changeset: 1:93580a2c28a5 | |
63 | tag: tip |
|
63 | tag: tip | |
64 | user: test |
|
64 | user: test | |
65 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
65 | date: Thu Jan 01 00:00:00 1970 +0000 | |
66 | summary: 2 |
|
66 | summary: 2 | |
67 |
|
67 | |||
68 |
|
68 | |||
69 | this should show a revision linked to changeset 1 |
|
69 | this should show a revision linked to changeset 1 | |
70 |
|
70 | |||
71 |
$ hg debugindex |
|
71 | $ hg debugindex b | |
72 | rev offset length base linkrev nodeid p1 p2 |
|
72 | rev offset length base linkrev nodeid p1 p2 | |
73 | 0 0 65 0 1 37d9b5d994ea 000000000000 000000000000 |
|
73 | 0 0 65 0 1 37d9b5d994ea 000000000000 000000000000 | |
74 |
|
74 | |||
75 | this should show the rename information in the metadata |
|
75 | this should show the rename information in the metadata | |
76 |
|
76 | |||
77 |
$ hg debugdata |
|
77 | $ hg debugdata b 0 | head -3 | tail -2 | |
78 | copy: a |
|
78 | copy: a | |
79 | copyrev: b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 |
|
79 | copyrev: b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 | |
80 |
|
80 | |||
81 | $ $TESTDIR/md5sum.py .hg/store/data/b.i |
|
81 | $ $TESTDIR/md5sum.py .hg/store/data/b.i | |
82 | 4999f120a3b88713bbefddd195cf5133 .hg/store/data/b.i |
|
82 | 4999f120a3b88713bbefddd195cf5133 .hg/store/data/b.i | |
83 | $ hg cat b > bsum |
|
83 | $ hg cat b > bsum | |
84 | $ $TESTDIR/md5sum.py bsum |
|
84 | $ $TESTDIR/md5sum.py bsum | |
85 | 60b725f10c9c85c70d97880dfe8191b3 bsum |
|
85 | 60b725f10c9c85c70d97880dfe8191b3 bsum | |
86 | $ hg cat a > asum |
|
86 | $ hg cat a > asum | |
87 | $ $TESTDIR/md5sum.py asum |
|
87 | $ $TESTDIR/md5sum.py asum | |
88 | 60b725f10c9c85c70d97880dfe8191b3 asum |
|
88 | 60b725f10c9c85c70d97880dfe8191b3 asum | |
89 | $ hg verify |
|
89 | $ hg verify | |
90 | checking changesets |
|
90 | checking changesets | |
91 | checking manifests |
|
91 | checking manifests | |
92 | crosschecking files in changesets and manifests |
|
92 | crosschecking files in changesets and manifests | |
93 | checking files |
|
93 | checking files | |
94 | 2 files, 2 changesets, 2 total revisions |
|
94 | 2 files, 2 changesets, 2 total revisions |
@@ -1,102 +1,102 b'' | |||||
1 | $ hg init |
|
1 | $ hg init | |
2 | $ echo foo > foo |
|
2 | $ echo foo > foo | |
3 | should fail - foo is not managed |
|
3 | should fail - foo is not managed | |
4 | $ hg mv foo bar |
|
4 | $ hg mv foo bar | |
5 | foo: not copying - file is not managed |
|
5 | foo: not copying - file is not managed | |
6 | abort: no files to copy |
|
6 | abort: no files to copy | |
7 | [255] |
|
7 | [255] | |
8 | $ hg st -A |
|
8 | $ hg st -A | |
9 | ? foo |
|
9 | ? foo | |
10 | $ hg add foo |
|
10 | $ hg add foo | |
11 | dry-run; print a warning that this is not a real copy; foo is added |
|
11 | dry-run; print a warning that this is not a real copy; foo is added | |
12 | $ hg mv --dry-run foo bar |
|
12 | $ hg mv --dry-run foo bar | |
13 | foo has not been committed yet, so no copy data will be stored for bar. |
|
13 | foo has not been committed yet, so no copy data will be stored for bar. | |
14 | $ hg st -A |
|
14 | $ hg st -A | |
15 | A foo |
|
15 | A foo | |
16 | should print a warning that this is not a real copy; bar is added |
|
16 | should print a warning that this is not a real copy; bar is added | |
17 | $ hg mv foo bar |
|
17 | $ hg mv foo bar | |
18 | foo has not been committed yet, so no copy data will be stored for bar. |
|
18 | foo has not been committed yet, so no copy data will be stored for bar. | |
19 | $ hg st -A |
|
19 | $ hg st -A | |
20 | A bar |
|
20 | A bar | |
21 | should print a warning that this is not a real copy; foo is added |
|
21 | should print a warning that this is not a real copy; foo is added | |
22 | $ hg cp bar foo |
|
22 | $ hg cp bar foo | |
23 | bar has not been committed yet, so no copy data will be stored for foo. |
|
23 | bar has not been committed yet, so no copy data will be stored for foo. | |
24 | $ hg rm -f bar |
|
24 | $ hg rm -f bar | |
25 | $ rm bar |
|
25 | $ rm bar | |
26 | $ hg st -A |
|
26 | $ hg st -A | |
27 | A foo |
|
27 | A foo | |
28 | $ hg commit -m1 |
|
28 | $ hg commit -m1 | |
29 |
|
29 | |||
30 | copy --after to a nonexistant target filename |
|
30 | copy --after to a nonexistant target filename | |
31 | $ hg cp -A foo dummy |
|
31 | $ hg cp -A foo dummy | |
32 | foo: not recording copy - dummy does not exist |
|
32 | foo: not recording copy - dummy does not exist | |
33 |
|
33 | |||
34 | dry-run; should show that foo is clean |
|
34 | dry-run; should show that foo is clean | |
35 | $ hg copy --dry-run foo bar |
|
35 | $ hg copy --dry-run foo bar | |
36 | $ hg st -A |
|
36 | $ hg st -A | |
37 | C foo |
|
37 | C foo | |
38 | should show copy |
|
38 | should show copy | |
39 | $ hg copy foo bar |
|
39 | $ hg copy foo bar | |
40 | $ hg st -C |
|
40 | $ hg st -C | |
41 | A bar |
|
41 | A bar | |
42 | foo |
|
42 | foo | |
43 |
|
43 | |||
44 | shouldn't show copy |
|
44 | shouldn't show copy | |
45 | $ hg commit -m2 |
|
45 | $ hg commit -m2 | |
46 | $ hg st -C |
|
46 | $ hg st -C | |
47 |
|
47 | |||
48 | should match |
|
48 | should match | |
49 |
$ hg debugindex |
|
49 | $ hg debugindex foo | |
50 | rev offset length base linkrev nodeid p1 p2 |
|
50 | rev offset length base linkrev nodeid p1 p2 | |
51 | 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000 |
|
51 | 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000 | |
52 | $ hg debugrename bar |
|
52 | $ hg debugrename bar | |
53 | bar renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd |
|
53 | bar renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd | |
54 |
|
54 | |||
55 | $ echo bleah > foo |
|
55 | $ echo bleah > foo | |
56 | $ echo quux > bar |
|
56 | $ echo quux > bar | |
57 | $ hg commit -m3 |
|
57 | $ hg commit -m3 | |
58 |
|
58 | |||
59 | should not be renamed |
|
59 | should not be renamed | |
60 | $ hg debugrename bar |
|
60 | $ hg debugrename bar | |
61 | bar not renamed |
|
61 | bar not renamed | |
62 |
|
62 | |||
63 | $ hg copy -f foo bar |
|
63 | $ hg copy -f foo bar | |
64 | should show copy |
|
64 | should show copy | |
65 | $ hg st -C |
|
65 | $ hg st -C | |
66 | M bar |
|
66 | M bar | |
67 | foo |
|
67 | foo | |
68 | $ hg commit -m3 |
|
68 | $ hg commit -m3 | |
69 |
|
69 | |||
70 | should show no parents for tip |
|
70 | should show no parents for tip | |
71 |
$ hg debugindex |
|
71 | $ hg debugindex bar | |
72 | rev offset length base linkrev nodeid p1 p2 |
|
72 | rev offset length base linkrev nodeid p1 p2 | |
73 | 0 0 69 0 1 7711d36246cc 000000000000 000000000000 |
|
73 | 0 0 69 0 1 7711d36246cc 000000000000 000000000000 | |
74 | 1 69 6 1 2 bdf70a2b8d03 7711d36246cc 000000000000 |
|
74 | 1 69 6 1 2 bdf70a2b8d03 7711d36246cc 000000000000 | |
75 | 2 75 81 1 3 b2558327ea8d 000000000000 000000000000 |
|
75 | 2 75 81 1 3 b2558327ea8d 000000000000 000000000000 | |
76 | should match |
|
76 | should match | |
77 |
$ hg debugindex |
|
77 | $ hg debugindex foo | |
78 | rev offset length base linkrev nodeid p1 p2 |
|
78 | rev offset length base linkrev nodeid p1 p2 | |
79 | 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000 |
|
79 | 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000 | |
80 | 1 5 7 1 2 dd12c926cf16 2ed2a3912a0b 000000000000 |
|
80 | 1 5 7 1 2 dd12c926cf16 2ed2a3912a0b 000000000000 | |
81 | $ hg debugrename bar |
|
81 | $ hg debugrename bar | |
82 | bar renamed from foo:dd12c926cf165e3eb4cf87b084955cb617221c17 |
|
82 | bar renamed from foo:dd12c926cf165e3eb4cf87b084955cb617221c17 | |
83 |
|
83 | |||
84 | should show no copies |
|
84 | should show no copies | |
85 | $ hg st -C |
|
85 | $ hg st -C | |
86 |
|
86 | |||
87 | copy --after on an added file |
|
87 | copy --after on an added file | |
88 | $ cp bar baz |
|
88 | $ cp bar baz | |
89 | $ hg add baz |
|
89 | $ hg add baz | |
90 | $ hg cp -A bar baz |
|
90 | $ hg cp -A bar baz | |
91 | $ hg st -C |
|
91 | $ hg st -C | |
92 | A baz |
|
92 | A baz | |
93 | bar |
|
93 | bar | |
94 |
|
94 | |||
95 | foo was clean: |
|
95 | foo was clean: | |
96 | $ hg st -AC foo |
|
96 | $ hg st -AC foo | |
97 | C foo |
|
97 | C foo | |
98 | but it's considered modified after a copy --after --force |
|
98 | but it's considered modified after a copy --after --force | |
99 | $ hg copy -Af bar foo |
|
99 | $ hg copy -Af bar foo | |
100 | $ hg st -AC foo |
|
100 | $ hg st -AC foo | |
101 | M foo |
|
101 | M foo | |
102 | bar |
|
102 | bar |
@@ -1,61 +1,61 b'' | |||||
1 | Test encode/decode filters |
|
1 | Test encode/decode filters | |
2 |
|
2 | |||
3 | $ hg init |
|
3 | $ hg init | |
4 | $ cat > .hg/hgrc <<EOF |
|
4 | $ cat > .hg/hgrc <<EOF | |
5 | > [encode] |
|
5 | > [encode] | |
6 | > not.gz = tr [:lower:] [:upper:] |
|
6 | > not.gz = tr [:lower:] [:upper:] | |
7 | > *.gz = gzip -d |
|
7 | > *.gz = gzip -d | |
8 | > [decode] |
|
8 | > [decode] | |
9 | > not.gz = tr [:upper:] [:lower:] |
|
9 | > not.gz = tr [:upper:] [:lower:] | |
10 | > *.gz = gzip |
|
10 | > *.gz = gzip | |
11 | > EOF |
|
11 | > EOF | |
12 | $ echo "this is a test" | gzip > a.gz |
|
12 | $ echo "this is a test" | gzip > a.gz | |
13 | $ echo "this is a test" > not.gz |
|
13 | $ echo "this is a test" > not.gz | |
14 | $ hg add * |
|
14 | $ hg add * | |
15 | $ hg ci -m "test" |
|
15 | $ hg ci -m "test" | |
16 |
|
16 | |||
17 | no changes |
|
17 | no changes | |
18 |
|
18 | |||
19 | $ hg status |
|
19 | $ hg status | |
20 | $ touch * |
|
20 | $ touch * | |
21 |
|
21 | |||
22 | no changes |
|
22 | no changes | |
23 |
|
23 | |||
24 | $ hg status |
|
24 | $ hg status | |
25 |
|
25 | |||
26 | check contents in repo are encoded |
|
26 | check contents in repo are encoded | |
27 |
|
27 | |||
28 |
$ hg debugdata |
|
28 | $ hg debugdata a.gz 0 | |
29 | this is a test |
|
29 | this is a test | |
30 |
$ hg debugdata |
|
30 | $ hg debugdata not.gz 0 | |
31 | THIS IS A TEST |
|
31 | THIS IS A TEST | |
32 |
|
32 | |||
33 | check committed content was decoded |
|
33 | check committed content was decoded | |
34 |
|
34 | |||
35 | $ gunzip < a.gz |
|
35 | $ gunzip < a.gz | |
36 | this is a test |
|
36 | this is a test | |
37 | $ cat not.gz |
|
37 | $ cat not.gz | |
38 | this is a test |
|
38 | this is a test | |
39 | $ rm * |
|
39 | $ rm * | |
40 | $ hg co -C |
|
40 | $ hg co -C | |
41 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
41 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
42 |
|
42 | |||
43 | check decoding of our new working dir copy |
|
43 | check decoding of our new working dir copy | |
44 |
|
44 | |||
45 | $ gunzip < a.gz |
|
45 | $ gunzip < a.gz | |
46 | this is a test |
|
46 | this is a test | |
47 | $ cat not.gz |
|
47 | $ cat not.gz | |
48 | this is a test |
|
48 | this is a test | |
49 |
|
49 | |||
50 | check hg cat operation |
|
50 | check hg cat operation | |
51 |
|
51 | |||
52 | $ hg cat a.gz |
|
52 | $ hg cat a.gz | |
53 | this is a test |
|
53 | this is a test | |
54 | $ hg cat --decode a.gz | gunzip |
|
54 | $ hg cat --decode a.gz | gunzip | |
55 | this is a test |
|
55 | this is a test | |
56 | $ mkdir subdir |
|
56 | $ mkdir subdir | |
57 | $ cd subdir |
|
57 | $ cd subdir | |
58 | $ hg -R .. cat ../a.gz |
|
58 | $ hg -R .. cat ../a.gz | |
59 | this is a test |
|
59 | this is a test | |
60 | $ hg -R .. cat --decode ../a.gz | gunzip |
|
60 | $ hg -R .. cat --decode ../a.gz | gunzip | |
61 | this is a test |
|
61 | this is a test |
@@ -1,101 +1,101 b'' | |||||
1 | $ hg init |
|
1 | $ hg init | |
2 |
|
2 | |||
3 | $ echo foo > a |
|
3 | $ echo foo > a | |
4 | $ echo foo > b |
|
4 | $ echo foo > b | |
5 | $ hg add a b |
|
5 | $ hg add a b | |
6 |
|
6 | |||
7 | $ hg ci -m "test" |
|
7 | $ hg ci -m "test" | |
8 |
|
8 | |||
9 | $ echo blah > a |
|
9 | $ echo blah > a | |
10 |
|
10 | |||
11 | $ hg ci -m "branch a" |
|
11 | $ hg ci -m "branch a" | |
12 |
|
12 | |||
13 | $ hg co 0 |
|
13 | $ hg co 0 | |
14 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
14 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
15 |
|
15 | |||
16 | $ echo blah > b |
|
16 | $ echo blah > b | |
17 |
|
17 | |||
18 | $ hg ci -m "branch b" |
|
18 | $ hg ci -m "branch b" | |
19 | created new head |
|
19 | created new head | |
20 | $ HGMERGE=true hg merge 1 |
|
20 | $ HGMERGE=true hg merge 1 | |
21 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
21 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
22 | (branch merge, don't forget to commit) |
|
22 | (branch merge, don't forget to commit) | |
23 |
|
23 | |||
24 | $ hg ci -m "merge b/a -> blah" |
|
24 | $ hg ci -m "merge b/a -> blah" | |
25 |
|
25 | |||
26 | $ hg co 1 |
|
26 | $ hg co 1 | |
27 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
27 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
28 | $ HGMERGE=true hg merge 2 |
|
28 | $ HGMERGE=true hg merge 2 | |
29 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
29 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
30 | (branch merge, don't forget to commit) |
|
30 | (branch merge, don't forget to commit) | |
31 | $ hg ci -m "merge a/b -> blah" |
|
31 | $ hg ci -m "merge a/b -> blah" | |
32 | created new head |
|
32 | created new head | |
33 |
|
33 | |||
34 | $ hg log |
|
34 | $ hg log | |
35 | changeset: 4:2ee31f665a86 |
|
35 | changeset: 4:2ee31f665a86 | |
36 | tag: tip |
|
36 | tag: tip | |
37 | parent: 1:96155394af80 |
|
37 | parent: 1:96155394af80 | |
38 | parent: 2:92cc4c306b19 |
|
38 | parent: 2:92cc4c306b19 | |
39 | user: test |
|
39 | user: test | |
40 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
40 | date: Thu Jan 01 00:00:00 1970 +0000 | |
41 | summary: merge a/b -> blah |
|
41 | summary: merge a/b -> blah | |
42 |
|
42 | |||
43 | changeset: 3:e16a66a37edd |
|
43 | changeset: 3:e16a66a37edd | |
44 | parent: 2:92cc4c306b19 |
|
44 | parent: 2:92cc4c306b19 | |
45 | parent: 1:96155394af80 |
|
45 | parent: 1:96155394af80 | |
46 | user: test |
|
46 | user: test | |
47 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
47 | date: Thu Jan 01 00:00:00 1970 +0000 | |
48 | summary: merge b/a -> blah |
|
48 | summary: merge b/a -> blah | |
49 |
|
49 | |||
50 | changeset: 2:92cc4c306b19 |
|
50 | changeset: 2:92cc4c306b19 | |
51 | parent: 0:5e0375449e74 |
|
51 | parent: 0:5e0375449e74 | |
52 | user: test |
|
52 | user: test | |
53 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
53 | date: Thu Jan 01 00:00:00 1970 +0000 | |
54 | summary: branch b |
|
54 | summary: branch b | |
55 |
|
55 | |||
56 | changeset: 1:96155394af80 |
|
56 | changeset: 1:96155394af80 | |
57 | user: test |
|
57 | user: test | |
58 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
58 | date: Thu Jan 01 00:00:00 1970 +0000 | |
59 | summary: branch a |
|
59 | summary: branch a | |
60 |
|
60 | |||
61 | changeset: 0:5e0375449e74 |
|
61 | changeset: 0:5e0375449e74 | |
62 | user: test |
|
62 | user: test | |
63 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
63 | date: Thu Jan 01 00:00:00 1970 +0000 | |
64 | summary: test |
|
64 | summary: test | |
65 |
|
65 | |||
66 | $ hg debugindex .hg/store/00changelog.i |
|
66 | $ hg debugindex .hg/store/00changelog.i | |
67 | rev offset length base linkrev nodeid p1 p2 |
|
67 | rev offset length base linkrev nodeid p1 p2 | |
68 | 0 0 60 0 0 5e0375449e74 000000000000 000000000000 |
|
68 | 0 0 60 0 0 5e0375449e74 000000000000 000000000000 | |
69 | 1 60 62 1 1 96155394af80 5e0375449e74 000000000000 |
|
69 | 1 60 62 1 1 96155394af80 5e0375449e74 000000000000 | |
70 | 2 122 62 2 2 92cc4c306b19 5e0375449e74 000000000000 |
|
70 | 2 122 62 2 2 92cc4c306b19 5e0375449e74 000000000000 | |
71 | 3 184 69 3 3 e16a66a37edd 92cc4c306b19 96155394af80 |
|
71 | 3 184 69 3 3 e16a66a37edd 92cc4c306b19 96155394af80 | |
72 | 4 253 29 3 4 2ee31f665a86 96155394af80 92cc4c306b19 |
|
72 | 4 253 29 3 4 2ee31f665a86 96155394af80 92cc4c306b19 | |
73 |
|
73 | |||
74 | revision 1 |
|
74 | revision 1 | |
75 | $ hg manifest --debug 1 |
|
75 | $ hg manifest --debug 1 | |
76 | 79d7492df40aa0fa093ec4209be78043c181f094 644 a |
|
76 | 79d7492df40aa0fa093ec4209be78043c181f094 644 a | |
77 | 2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 b |
|
77 | 2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 b | |
78 | revision 2 |
|
78 | revision 2 | |
79 | $ hg manifest --debug 2 |
|
79 | $ hg manifest --debug 2 | |
80 | 2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 a |
|
80 | 2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 a | |
81 | 79d7492df40aa0fa093ec4209be78043c181f094 644 b |
|
81 | 79d7492df40aa0fa093ec4209be78043c181f094 644 b | |
82 | revision 3 |
|
82 | revision 3 | |
83 | $ hg manifest --debug 3 |
|
83 | $ hg manifest --debug 3 | |
84 | 79d7492df40aa0fa093ec4209be78043c181f094 644 a |
|
84 | 79d7492df40aa0fa093ec4209be78043c181f094 644 a | |
85 | 79d7492df40aa0fa093ec4209be78043c181f094 644 b |
|
85 | 79d7492df40aa0fa093ec4209be78043c181f094 644 b | |
86 | revision 4 |
|
86 | revision 4 | |
87 | $ hg manifest --debug 4 |
|
87 | $ hg manifest --debug 4 | |
88 | 79d7492df40aa0fa093ec4209be78043c181f094 644 a |
|
88 | 79d7492df40aa0fa093ec4209be78043c181f094 644 a | |
89 | 79d7492df40aa0fa093ec4209be78043c181f094 644 b |
|
89 | 79d7492df40aa0fa093ec4209be78043c181f094 644 b | |
90 |
|
90 | |||
91 |
$ hg debugindex |
|
91 | $ hg debugindex a | |
92 | rev offset length base linkrev nodeid p1 p2 |
|
92 | rev offset length base linkrev nodeid p1 p2 | |
93 | 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000 |
|
93 | 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000 | |
94 | 1 5 6 1 1 79d7492df40a 2ed2a3912a0b 000000000000 |
|
94 | 1 5 6 1 1 79d7492df40a 2ed2a3912a0b 000000000000 | |
95 |
|
95 | |||
96 | $ hg verify |
|
96 | $ hg verify | |
97 | checking changesets |
|
97 | checking changesets | |
98 | checking manifests |
|
98 | checking manifests | |
99 | crosschecking files in changesets and manifests |
|
99 | crosschecking files in changesets and manifests | |
100 | checking files |
|
100 | checking files | |
101 | 2 files, 5 changesets, 4 total revisions |
|
101 | 2 files, 5 changesets, 4 total revisions |
@@ -1,21 +1,21 b'' | |||||
1 | Issue351: mq: qrefresh can create extra revlog entry |
|
1 | Issue351: mq: qrefresh can create extra revlog entry | |
2 |
|
2 | |||
3 | $ echo "[extensions]" >> $HGRCPATH |
|
3 | $ echo "[extensions]" >> $HGRCPATH | |
4 | $ echo "mq=" >> $HGRCPATH |
|
4 | $ echo "mq=" >> $HGRCPATH | |
5 |
|
5 | |||
6 | $ hg init |
|
6 | $ hg init | |
7 | $ hg qinit |
|
7 | $ hg qinit | |
8 |
|
8 | |||
9 | $ echo b > b |
|
9 | $ echo b > b | |
10 | $ hg ci -A -m foo |
|
10 | $ hg ci -A -m foo | |
11 | adding b |
|
11 | adding b | |
12 |
|
12 | |||
13 | $ echo cc > b |
|
13 | $ echo cc > b | |
14 | $ hg qnew -f foo.diff |
|
14 | $ hg qnew -f foo.diff | |
15 | $ echo b > b |
|
15 | $ echo b > b | |
16 | $ hg qrefresh |
|
16 | $ hg qrefresh | |
17 |
|
17 | |||
18 |
$ hg debugindex |
|
18 | $ hg debugindex b | |
19 | rev offset length base linkrev nodeid p1 p2 |
|
19 | rev offset length base linkrev nodeid p1 p2 | |
20 | 0 0 3 0 0 1e88685f5dde 000000000000 000000000000 |
|
20 | 0 0 3 0 0 1e88685f5dde 000000000000 000000000000 | |
21 |
|
21 |
@@ -1,148 +1,148 b'' | |||||
1 | This test makes sure that we don't mark a file as merged with its ancestor |
|
1 | This test makes sure that we don't mark a file as merged with its ancestor | |
2 | when we do a merge. |
|
2 | when we do a merge. | |
3 |
|
3 | |||
4 | $ cat <<EOF > merge |
|
4 | $ cat <<EOF > merge | |
5 | > import sys, os |
|
5 | > import sys, os | |
6 | > print "merging for", os.path.basename(sys.argv[1]) |
|
6 | > print "merging for", os.path.basename(sys.argv[1]) | |
7 | > EOF |
|
7 | > EOF | |
8 | $ HGMERGE="python ../merge"; export HGMERGE |
|
8 | $ HGMERGE="python ../merge"; export HGMERGE | |
9 |
|
9 | |||
10 | Creating base: |
|
10 | Creating base: | |
11 |
|
11 | |||
12 | $ hg init a |
|
12 | $ hg init a | |
13 | $ cd a |
|
13 | $ cd a | |
14 | $ echo 1 > foo |
|
14 | $ echo 1 > foo | |
15 | $ echo 1 > bar |
|
15 | $ echo 1 > bar | |
16 | $ echo 1 > baz |
|
16 | $ echo 1 > baz | |
17 | $ echo 1 > quux |
|
17 | $ echo 1 > quux | |
18 | $ hg add foo bar baz quux |
|
18 | $ hg add foo bar baz quux | |
19 | $ hg commit -m "base" |
|
19 | $ hg commit -m "base" | |
20 |
|
20 | |||
21 | $ cd .. |
|
21 | $ cd .. | |
22 | $ hg clone a b |
|
22 | $ hg clone a b | |
23 | updating to branch default |
|
23 | updating to branch default | |
24 | 4 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
24 | 4 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
25 |
|
25 | |||
26 | Creating branch a: |
|
26 | Creating branch a: | |
27 |
|
27 | |||
28 | $ cd a |
|
28 | $ cd a | |
29 | $ echo 2a > foo |
|
29 | $ echo 2a > foo | |
30 | $ echo 2a > bar |
|
30 | $ echo 2a > bar | |
31 | $ hg commit -m "branch a" |
|
31 | $ hg commit -m "branch a" | |
32 |
|
32 | |||
33 | Creating branch b: |
|
33 | Creating branch b: | |
34 |
|
34 | |||
35 | $ cd .. |
|
35 | $ cd .. | |
36 | $ cd b |
|
36 | $ cd b | |
37 | $ echo 2b > foo |
|
37 | $ echo 2b > foo | |
38 | $ echo 2b > baz |
|
38 | $ echo 2b > baz | |
39 | $ hg commit -m "branch b" |
|
39 | $ hg commit -m "branch b" | |
40 |
|
40 | |||
41 | We shouldn't have anything but n state here: |
|
41 | We shouldn't have anything but n state here: | |
42 |
|
42 | |||
43 | $ hg debugstate --nodates | grep -v "^n" |
|
43 | $ hg debugstate --nodates | grep -v "^n" | |
44 | [1] |
|
44 | [1] | |
45 |
|
45 | |||
46 | Merging: |
|
46 | Merging: | |
47 |
|
47 | |||
48 | $ hg pull ../a |
|
48 | $ hg pull ../a | |
49 | pulling from ../a |
|
49 | pulling from ../a | |
50 | searching for changes |
|
50 | searching for changes | |
51 | adding changesets |
|
51 | adding changesets | |
52 | adding manifests |
|
52 | adding manifests | |
53 | adding file changes |
|
53 | adding file changes | |
54 | added 1 changesets with 2 changes to 2 files (+1 heads) |
|
54 | added 1 changesets with 2 changes to 2 files (+1 heads) | |
55 | (run 'hg heads' to see heads, 'hg merge' to merge) |
|
55 | (run 'hg heads' to see heads, 'hg merge' to merge) | |
56 |
|
56 | |||
57 | $ hg merge -v |
|
57 | $ hg merge -v | |
58 | resolving manifests |
|
58 | resolving manifests | |
59 | getting bar |
|
59 | getting bar | |
60 | merging foo |
|
60 | merging foo | |
61 | merging for foo |
|
61 | merging for foo | |
62 | 1 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
62 | 1 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
63 | (branch merge, don't forget to commit) |
|
63 | (branch merge, don't forget to commit) | |
64 |
|
64 | |||
65 | $ echo 2m > foo |
|
65 | $ echo 2m > foo | |
66 | $ echo 2b > baz |
|
66 | $ echo 2b > baz | |
67 | $ echo new > quux |
|
67 | $ echo new > quux | |
68 |
|
68 | |||
69 | We shouldn't have anything but foo in merge state here: |
|
69 | We shouldn't have anything but foo in merge state here: | |
70 |
|
70 | |||
71 | $ hg debugstate --nodates | grep "^m" |
|
71 | $ hg debugstate --nodates | grep "^m" | |
72 | m 644 3 foo |
|
72 | m 644 3 foo | |
73 |
|
73 | |||
74 | $ hg ci -m "merge" |
|
74 | $ hg ci -m "merge" | |
75 |
|
75 | |||
76 | main: we should have a merge here: |
|
76 | main: we should have a merge here: | |
77 |
|
77 | |||
78 | $ hg debugindex .hg/store/00changelog.i |
|
78 | $ hg debugindex .hg/store/00changelog.i | |
79 | rev offset length base linkrev nodeid p1 p2 |
|
79 | rev offset length base linkrev nodeid p1 p2 | |
80 | 0 0 73 0 0 cdca01651b96 000000000000 000000000000 |
|
80 | 0 0 73 0 0 cdca01651b96 000000000000 000000000000 | |
81 | 1 73 68 1 1 f6718a9cb7f3 cdca01651b96 000000000000 |
|
81 | 1 73 68 1 1 f6718a9cb7f3 cdca01651b96 000000000000 | |
82 | 2 141 68 2 2 bdd988058d16 cdca01651b96 000000000000 |
|
82 | 2 141 68 2 2 bdd988058d16 cdca01651b96 000000000000 | |
83 | 3 209 66 3 3 d8a521142a3c f6718a9cb7f3 bdd988058d16 |
|
83 | 3 209 66 3 3 d8a521142a3c f6718a9cb7f3 bdd988058d16 | |
84 |
|
84 | |||
85 | log should show foo and quux changed: |
|
85 | log should show foo and quux changed: | |
86 |
|
86 | |||
87 | $ hg log -v -r tip |
|
87 | $ hg log -v -r tip | |
88 | changeset: 3:d8a521142a3c |
|
88 | changeset: 3:d8a521142a3c | |
89 | tag: tip |
|
89 | tag: tip | |
90 | parent: 1:f6718a9cb7f3 |
|
90 | parent: 1:f6718a9cb7f3 | |
91 | parent: 2:bdd988058d16 |
|
91 | parent: 2:bdd988058d16 | |
92 | user: test |
|
92 | user: test | |
93 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
93 | date: Thu Jan 01 00:00:00 1970 +0000 | |
94 | files: foo quux |
|
94 | files: foo quux | |
95 | description: |
|
95 | description: | |
96 | merge |
|
96 | merge | |
97 |
|
97 | |||
98 |
|
98 | |||
99 |
|
99 | |||
100 | foo: we should have a merge here: |
|
100 | foo: we should have a merge here: | |
101 |
|
101 | |||
102 |
$ hg debugindex |
|
102 | $ hg debugindex foo | |
103 | rev offset length base linkrev nodeid p1 p2 |
|
103 | rev offset length base linkrev nodeid p1 p2 | |
104 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 |
|
104 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 | |
105 | 1 3 4 1 1 2ffeddde1b65 b8e02f643373 000000000000 |
|
105 | 1 3 4 1 1 2ffeddde1b65 b8e02f643373 000000000000 | |
106 | 2 7 4 2 2 33d1fb69067a b8e02f643373 000000000000 |
|
106 | 2 7 4 2 2 33d1fb69067a b8e02f643373 000000000000 | |
107 | 3 11 4 3 3 aa27919ee430 2ffeddde1b65 33d1fb69067a |
|
107 | 3 11 4 3 3 aa27919ee430 2ffeddde1b65 33d1fb69067a | |
108 |
|
108 | |||
109 | bar: we should not have a merge here: |
|
109 | bar: we should not have a merge here: | |
110 |
|
110 | |||
111 |
$ hg debugindex |
|
111 | $ hg debugindex bar | |
112 | rev offset length base linkrev nodeid p1 p2 |
|
112 | rev offset length base linkrev nodeid p1 p2 | |
113 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 |
|
113 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 | |
114 | 1 3 4 1 2 33d1fb69067a b8e02f643373 000000000000 |
|
114 | 1 3 4 1 2 33d1fb69067a b8e02f643373 000000000000 | |
115 |
|
115 | |||
116 | baz: we should not have a merge here: |
|
116 | baz: we should not have a merge here: | |
117 |
|
117 | |||
118 |
$ hg debugindex |
|
118 | $ hg debugindex baz | |
119 | rev offset length base linkrev nodeid p1 p2 |
|
119 | rev offset length base linkrev nodeid p1 p2 | |
120 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 |
|
120 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 | |
121 | 1 3 4 1 1 2ffeddde1b65 b8e02f643373 000000000000 |
|
121 | 1 3 4 1 1 2ffeddde1b65 b8e02f643373 000000000000 | |
122 |
|
122 | |||
123 | quux: we should not have a merge here: |
|
123 | quux: we should not have a merge here: | |
124 |
|
124 | |||
125 |
$ hg debugindex |
|
125 | $ hg debugindex quux | |
126 | rev offset length base linkrev nodeid p1 p2 |
|
126 | rev offset length base linkrev nodeid p1 p2 | |
127 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 |
|
127 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 | |
128 | 1 3 5 1 3 6128c0f33108 b8e02f643373 000000000000 |
|
128 | 1 3 5 1 3 6128c0f33108 b8e02f643373 000000000000 | |
129 |
|
129 | |||
130 | Manifest entries should match tips of all files: |
|
130 | Manifest entries should match tips of all files: | |
131 |
|
131 | |||
132 | $ hg manifest --debug |
|
132 | $ hg manifest --debug | |
133 | 33d1fb69067a0139622a3fa3b7ba1cdb1367972e 644 bar |
|
133 | 33d1fb69067a0139622a3fa3b7ba1cdb1367972e 644 bar | |
134 | 2ffeddde1b65b4827f6746174a145474129fa2ce 644 baz |
|
134 | 2ffeddde1b65b4827f6746174a145474129fa2ce 644 baz | |
135 | aa27919ee4303cfd575e1fb932dd64d75aa08be4 644 foo |
|
135 | aa27919ee4303cfd575e1fb932dd64d75aa08be4 644 foo | |
136 | 6128c0f33108e8cfbb4e0824d13ae48b466d7280 644 quux |
|
136 | 6128c0f33108e8cfbb4e0824d13ae48b466d7280 644 quux | |
137 |
|
137 | |||
138 | Everything should be clean now: |
|
138 | Everything should be clean now: | |
139 |
|
139 | |||
140 | $ hg status |
|
140 | $ hg status | |
141 |
|
141 | |||
142 | $ hg verify |
|
142 | $ hg verify | |
143 | checking changesets |
|
143 | checking changesets | |
144 | checking manifests |
|
144 | checking manifests | |
145 | crosschecking files in changesets and manifests |
|
145 | crosschecking files in changesets and manifests | |
146 | checking files |
|
146 | checking files | |
147 | 4 files, 4 changesets, 10 total revisions |
|
147 | 4 files, 4 changesets, 10 total revisions | |
148 |
|
148 |
@@ -1,147 +1,147 b'' | |||||
1 | $ umask 027 |
|
1 | $ umask 027 | |
2 |
|
2 | |||
3 | $ hg init test1 |
|
3 | $ hg init test1 | |
4 | $ cd test1 |
|
4 | $ cd test1 | |
5 | $ touch a b |
|
5 | $ touch a b | |
6 | $ hg add a b |
|
6 | $ hg add a b | |
7 | $ hg ci -m "added a b" |
|
7 | $ hg ci -m "added a b" | |
8 |
|
8 | |||
9 | $ cd .. |
|
9 | $ cd .. | |
10 | $ hg clone test1 test3 |
|
10 | $ hg clone test1 test3 | |
11 | updating to branch default |
|
11 | updating to branch default | |
12 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
12 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
13 |
|
13 | |||
14 | $ hg init test2 |
|
14 | $ hg init test2 | |
15 | $ cd test2 |
|
15 | $ cd test2 | |
16 | $ hg pull ../test1 |
|
16 | $ hg pull ../test1 | |
17 | pulling from ../test1 |
|
17 | pulling from ../test1 | |
18 | requesting all changes |
|
18 | requesting all changes | |
19 | adding changesets |
|
19 | adding changesets | |
20 | adding manifests |
|
20 | adding manifests | |
21 | adding file changes |
|
21 | adding file changes | |
22 | added 1 changesets with 2 changes to 2 files |
|
22 | added 1 changesets with 2 changes to 2 files | |
23 | (run 'hg update' to get a working copy) |
|
23 | (run 'hg update' to get a working copy) | |
24 | $ hg co |
|
24 | $ hg co | |
25 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
25 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
26 | $ chmod +x a |
|
26 | $ chmod +x a | |
27 | $ hg ci -m "chmod +x a" |
|
27 | $ hg ci -m "chmod +x a" | |
28 |
|
28 | |||
29 | the changelog should mention file a: |
|
29 | the changelog should mention file a: | |
30 |
|
30 | |||
31 | $ hg tip --template '{files}\n' |
|
31 | $ hg tip --template '{files}\n' | |
32 | a |
|
32 | a | |
33 |
|
33 | |||
34 | $ cd ../test1 |
|
34 | $ cd ../test1 | |
35 | $ echo 123 >>a |
|
35 | $ echo 123 >>a | |
36 | $ hg ci -m "a updated" |
|
36 | $ hg ci -m "a updated" | |
37 |
|
37 | |||
38 | $ hg pull ../test2 |
|
38 | $ hg pull ../test2 | |
39 | pulling from ../test2 |
|
39 | pulling from ../test2 | |
40 | searching for changes |
|
40 | searching for changes | |
41 | adding changesets |
|
41 | adding changesets | |
42 | adding manifests |
|
42 | adding manifests | |
43 | adding file changes |
|
43 | adding file changes | |
44 | added 1 changesets with 0 changes to 0 files (+1 heads) |
|
44 | added 1 changesets with 0 changes to 0 files (+1 heads) | |
45 | (run 'hg heads' to see heads, 'hg merge' to merge) |
|
45 | (run 'hg heads' to see heads, 'hg merge' to merge) | |
46 | $ hg heads |
|
46 | $ hg heads | |
47 | changeset: 2:7f4313b42a34 |
|
47 | changeset: 2:7f4313b42a34 | |
48 | tag: tip |
|
48 | tag: tip | |
49 | parent: 0:22a449e20da5 |
|
49 | parent: 0:22a449e20da5 | |
50 | user: test |
|
50 | user: test | |
51 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
51 | date: Thu Jan 01 00:00:00 1970 +0000 | |
52 | summary: chmod +x a |
|
52 | summary: chmod +x a | |
53 |
|
53 | |||
54 | changeset: 1:c6ecefc45368 |
|
54 | changeset: 1:c6ecefc45368 | |
55 | user: test |
|
55 | user: test | |
56 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
56 | date: Thu Jan 01 00:00:00 1970 +0000 | |
57 | summary: a updated |
|
57 | summary: a updated | |
58 |
|
58 | |||
59 | $ hg history |
|
59 | $ hg history | |
60 | changeset: 2:7f4313b42a34 |
|
60 | changeset: 2:7f4313b42a34 | |
61 | tag: tip |
|
61 | tag: tip | |
62 | parent: 0:22a449e20da5 |
|
62 | parent: 0:22a449e20da5 | |
63 | user: test |
|
63 | user: test | |
64 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
64 | date: Thu Jan 01 00:00:00 1970 +0000 | |
65 | summary: chmod +x a |
|
65 | summary: chmod +x a | |
66 |
|
66 | |||
67 | changeset: 1:c6ecefc45368 |
|
67 | changeset: 1:c6ecefc45368 | |
68 | user: test |
|
68 | user: test | |
69 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
69 | date: Thu Jan 01 00:00:00 1970 +0000 | |
70 | summary: a updated |
|
70 | summary: a updated | |
71 |
|
71 | |||
72 | changeset: 0:22a449e20da5 |
|
72 | changeset: 0:22a449e20da5 | |
73 | user: test |
|
73 | user: test | |
74 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
74 | date: Thu Jan 01 00:00:00 1970 +0000 | |
75 | summary: added a b |
|
75 | summary: added a b | |
76 |
|
76 | |||
77 |
|
77 | |||
78 | $ hg -v merge |
|
78 | $ hg -v merge | |
79 | resolving manifests |
|
79 | resolving manifests | |
80 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
80 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
81 | (branch merge, don't forget to commit) |
|
81 | (branch merge, don't forget to commit) | |
82 |
|
82 | |||
83 | $ cd ../test3 |
|
83 | $ cd ../test3 | |
84 | $ echo 123 >>b |
|
84 | $ echo 123 >>b | |
85 | $ hg ci -m "b updated" |
|
85 | $ hg ci -m "b updated" | |
86 |
|
86 | |||
87 | $ hg pull ../test2 |
|
87 | $ hg pull ../test2 | |
88 | pulling from ../test2 |
|
88 | pulling from ../test2 | |
89 | searching for changes |
|
89 | searching for changes | |
90 | adding changesets |
|
90 | adding changesets | |
91 | adding manifests |
|
91 | adding manifests | |
92 | adding file changes |
|
92 | adding file changes | |
93 | added 1 changesets with 0 changes to 0 files (+1 heads) |
|
93 | added 1 changesets with 0 changes to 0 files (+1 heads) | |
94 | (run 'hg heads' to see heads, 'hg merge' to merge) |
|
94 | (run 'hg heads' to see heads, 'hg merge' to merge) | |
95 | $ hg heads |
|
95 | $ hg heads | |
96 | changeset: 2:7f4313b42a34 |
|
96 | changeset: 2:7f4313b42a34 | |
97 | tag: tip |
|
97 | tag: tip | |
98 | parent: 0:22a449e20da5 |
|
98 | parent: 0:22a449e20da5 | |
99 | user: test |
|
99 | user: test | |
100 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
100 | date: Thu Jan 01 00:00:00 1970 +0000 | |
101 | summary: chmod +x a |
|
101 | summary: chmod +x a | |
102 |
|
102 | |||
103 | changeset: 1:dc57ead75f79 |
|
103 | changeset: 1:dc57ead75f79 | |
104 | user: test |
|
104 | user: test | |
105 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
105 | date: Thu Jan 01 00:00:00 1970 +0000 | |
106 | summary: b updated |
|
106 | summary: b updated | |
107 |
|
107 | |||
108 | $ hg history |
|
108 | $ hg history | |
109 | changeset: 2:7f4313b42a34 |
|
109 | changeset: 2:7f4313b42a34 | |
110 | tag: tip |
|
110 | tag: tip | |
111 | parent: 0:22a449e20da5 |
|
111 | parent: 0:22a449e20da5 | |
112 | user: test |
|
112 | user: test | |
113 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
113 | date: Thu Jan 01 00:00:00 1970 +0000 | |
114 | summary: chmod +x a |
|
114 | summary: chmod +x a | |
115 |
|
115 | |||
116 | changeset: 1:dc57ead75f79 |
|
116 | changeset: 1:dc57ead75f79 | |
117 | user: test |
|
117 | user: test | |
118 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
118 | date: Thu Jan 01 00:00:00 1970 +0000 | |
119 | summary: b updated |
|
119 | summary: b updated | |
120 |
|
120 | |||
121 | changeset: 0:22a449e20da5 |
|
121 | changeset: 0:22a449e20da5 | |
122 | user: test |
|
122 | user: test | |
123 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
123 | date: Thu Jan 01 00:00:00 1970 +0000 | |
124 | summary: added a b |
|
124 | summary: added a b | |
125 |
|
125 | |||
126 |
|
126 | |||
127 | $ hg -v merge |
|
127 | $ hg -v merge | |
128 | resolving manifests |
|
128 | resolving manifests | |
129 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
129 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
130 | (branch merge, don't forget to commit) |
|
130 | (branch merge, don't forget to commit) | |
131 |
|
131 | |||
132 | $ ls -l ../test[123]/a > foo |
|
132 | $ ls -l ../test[123]/a > foo | |
133 | $ cut -b 1-10 < foo |
|
133 | $ cut -b 1-10 < foo | |
134 | -rwxr-x--- |
|
134 | -rwxr-x--- | |
135 | -rwxr-x--- |
|
135 | -rwxr-x--- | |
136 | -rwxr-x--- |
|
136 | -rwxr-x--- | |
137 |
|
137 | |||
138 |
$ hg debugindex |
|
138 | $ hg debugindex a | |
139 | rev offset length base linkrev nodeid p1 p2 |
|
139 | rev offset length base linkrev nodeid p1 p2 | |
140 | 0 0 0 0 0 b80de5d13875 000000000000 000000000000 |
|
140 | 0 0 0 0 0 b80de5d13875 000000000000 000000000000 | |
141 |
$ hg debugindex ../test2 |
|
141 | $ hg debugindex -R ../test2 a | |
142 | rev offset length base linkrev nodeid p1 p2 |
|
142 | rev offset length base linkrev nodeid p1 p2 | |
143 | 0 0 0 0 0 b80de5d13875 000000000000 000000000000 |
|
143 | 0 0 0 0 0 b80de5d13875 000000000000 000000000000 | |
144 |
$ hg debugindex ../test1 |
|
144 | $ hg debugindex -R ../test1 a | |
145 | rev offset length base linkrev nodeid p1 p2 |
|
145 | rev offset length base linkrev nodeid p1 p2 | |
146 | 0 0 0 0 0 b80de5d13875 000000000000 000000000000 |
|
146 | 0 0 0 0 0 b80de5d13875 000000000000 000000000000 | |
147 | 1 0 5 1 1 7fe919cc0336 b80de5d13875 000000000000 |
|
147 | 1 0 5 1 1 7fe919cc0336 b80de5d13875 000000000000 |
@@ -1,56 +1,56 b'' | |||||
1 | http://mercurial.selenic.com/bts/issue522 |
|
1 | http://mercurial.selenic.com/bts/issue522 | |
2 |
|
2 | |||
3 | In the merge below, the file "foo" has the same contents in both |
|
3 | In the merge below, the file "foo" has the same contents in both | |
4 | parents, but if we look at the file-level history, we'll notice that |
|
4 | parents, but if we look at the file-level history, we'll notice that | |
5 | the version in p1 is an ancestor of the version in p2. This test makes |
|
5 | the version in p1 is an ancestor of the version in p2. This test makes | |
6 | sure that we'll use the version from p2 in the manifest of the merge |
|
6 | sure that we'll use the version from p2 in the manifest of the merge | |
7 | revision. |
|
7 | revision. | |
8 |
|
8 | |||
9 | $ hg init |
|
9 | $ hg init | |
10 |
|
10 | |||
11 | $ echo foo > foo |
|
11 | $ echo foo > foo | |
12 | $ hg ci -qAm 'add foo' |
|
12 | $ hg ci -qAm 'add foo' | |
13 |
|
13 | |||
14 | $ echo bar >> foo |
|
14 | $ echo bar >> foo | |
15 | $ hg ci -m 'change foo' |
|
15 | $ hg ci -m 'change foo' | |
16 |
|
16 | |||
17 | $ hg backout -r tip -m 'backout changed foo' |
|
17 | $ hg backout -r tip -m 'backout changed foo' | |
18 | reverting foo |
|
18 | reverting foo | |
19 | changeset 2:4d9e78aaceee backs out changeset 1:b515023e500e |
|
19 | changeset 2:4d9e78aaceee backs out changeset 1:b515023e500e | |
20 |
|
20 | |||
21 | $ hg up -C 0 |
|
21 | $ hg up -C 0 | |
22 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
22 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
23 |
|
23 | |||
24 | $ touch bar |
|
24 | $ touch bar | |
25 | $ hg ci -qAm 'add bar' |
|
25 | $ hg ci -qAm 'add bar' | |
26 |
|
26 | |||
27 | $ hg merge --debug |
|
27 | $ hg merge --debug | |
28 | searching for copies back to rev 1 |
|
28 | searching for copies back to rev 1 | |
29 | unmatched files in local: |
|
29 | unmatched files in local: | |
30 | bar |
|
30 | bar | |
31 | resolving manifests |
|
31 | resolving manifests | |
32 | overwrite None partial False |
|
32 | overwrite None partial False | |
33 | ancestor bbd179dfa0a7 local 71766447bdbb+ remote 4d9e78aaceee |
|
33 | ancestor bbd179dfa0a7 local 71766447bdbb+ remote 4d9e78aaceee | |
34 | foo: remote is newer -> g |
|
34 | foo: remote is newer -> g | |
35 | updating: foo 1/1 files (100.00%) |
|
35 | updating: foo 1/1 files (100.00%) | |
36 | getting foo |
|
36 | getting foo | |
37 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
37 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
38 | (branch merge, don't forget to commit) |
|
38 | (branch merge, don't forget to commit) | |
39 |
|
39 | |||
40 | $ hg debugstate | grep foo |
|
40 | $ hg debugstate | grep foo | |
41 | n 0 -2 unset foo |
|
41 | n 0 -2 unset foo | |
42 |
|
42 | |||
43 | $ hg st -A foo |
|
43 | $ hg st -A foo | |
44 | M foo |
|
44 | M foo | |
45 |
|
45 | |||
46 | $ hg ci -m 'merge' |
|
46 | $ hg ci -m 'merge' | |
47 |
|
47 | |||
48 | $ hg manifest --debug | grep foo |
|
48 | $ hg manifest --debug | grep foo | |
49 | c6fc755d7e68f49f880599da29f15add41f42f5a 644 foo |
|
49 | c6fc755d7e68f49f880599da29f15add41f42f5a 644 foo | |
50 |
|
50 | |||
51 |
$ hg debugindex |
|
51 | $ hg debugindex foo | |
52 | rev offset length base linkrev nodeid p1 p2 |
|
52 | rev offset length base linkrev nodeid p1 p2 | |
53 | 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000 |
|
53 | 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000 | |
54 | 1 5 9 1 1 6f4310b00b9a 2ed2a3912a0b 000000000000 |
|
54 | 1 5 9 1 1 6f4310b00b9a 2ed2a3912a0b 000000000000 | |
55 | 2 14 5 2 2 c6fc755d7e68 6f4310b00b9a 000000000000 |
|
55 | 2 14 5 2 2 c6fc755d7e68 6f4310b00b9a 000000000000 | |
56 |
|
56 |
@@ -1,183 +1,183 b'' | |||||
1 | Check that renames are correctly saved by a commit after a merge |
|
1 | Check that renames are correctly saved by a commit after a merge | |
2 |
|
2 | |||
3 | Test with the merge on 3 having the rename on the local parent |
|
3 | Test with the merge on 3 having the rename on the local parent | |
4 |
|
4 | |||
5 | $ hg init a |
|
5 | $ hg init a | |
6 | $ cd a |
|
6 | $ cd a | |
7 |
|
7 | |||
8 | $ echo line1 > foo |
|
8 | $ echo line1 > foo | |
9 | $ hg add foo |
|
9 | $ hg add foo | |
10 | $ hg ci -m '0: add foo' |
|
10 | $ hg ci -m '0: add foo' | |
11 |
|
11 | |||
12 | $ echo line2 >> foo |
|
12 | $ echo line2 >> foo | |
13 | $ hg ci -m '1: change foo' |
|
13 | $ hg ci -m '1: change foo' | |
14 |
|
14 | |||
15 | $ hg up -C 0 |
|
15 | $ hg up -C 0 | |
16 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
16 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
17 |
|
17 | |||
18 | $ hg mv foo bar |
|
18 | $ hg mv foo bar | |
19 | $ rm bar |
|
19 | $ rm bar | |
20 | $ echo line0 > bar |
|
20 | $ echo line0 > bar | |
21 | $ echo line1 >> bar |
|
21 | $ echo line1 >> bar | |
22 | $ hg ci -m '2: mv foo bar; change bar' |
|
22 | $ hg ci -m '2: mv foo bar; change bar' | |
23 | created new head |
|
23 | created new head | |
24 |
|
24 | |||
25 | $ hg merge 1 |
|
25 | $ hg merge 1 | |
26 | merging bar and foo to bar |
|
26 | merging bar and foo to bar | |
27 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
27 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
28 | (branch merge, don't forget to commit) |
|
28 | (branch merge, don't forget to commit) | |
29 |
|
29 | |||
30 | $ cat bar |
|
30 | $ cat bar | |
31 | line0 |
|
31 | line0 | |
32 | line1 |
|
32 | line1 | |
33 | line2 |
|
33 | line2 | |
34 |
|
34 | |||
35 | $ hg ci -m '3: merge with local rename' |
|
35 | $ hg ci -m '3: merge with local rename' | |
36 |
|
36 | |||
37 |
$ hg debugindex |
|
37 | $ hg debugindex bar | |
38 | rev offset length base linkrev nodeid p1 p2 |
|
38 | rev offset length base linkrev nodeid p1 p2 | |
39 | 0 0 77 0 2 d35118874825 000000000000 000000000000 |
|
39 | 0 0 77 0 2 d35118874825 000000000000 000000000000 | |
40 | 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825 |
|
40 | 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825 | |
41 |
|
41 | |||
42 | $ hg debugrename bar |
|
42 | $ hg debugrename bar | |
43 | bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2 |
|
43 | bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2 | |
44 |
|
44 | |||
45 |
$ hg debugindex |
|
45 | $ hg debugindex foo | |
46 | rev offset length base linkrev nodeid p1 p2 |
|
46 | rev offset length base linkrev nodeid p1 p2 | |
47 | 0 0 7 0 0 690b295714ae 000000000000 000000000000 |
|
47 | 0 0 7 0 0 690b295714ae 000000000000 000000000000 | |
48 | 1 7 13 1 1 9e25c27b8757 690b295714ae 000000000000 |
|
48 | 1 7 13 1 1 9e25c27b8757 690b295714ae 000000000000 | |
49 |
|
49 | |||
50 |
|
50 | |||
51 | Revert the content change from rev 2: |
|
51 | Revert the content change from rev 2: | |
52 |
|
52 | |||
53 | $ hg up -C 2 |
|
53 | $ hg up -C 2 | |
54 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
54 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
55 | $ rm bar |
|
55 | $ rm bar | |
56 | $ echo line1 > bar |
|
56 | $ echo line1 > bar | |
57 | $ hg ci -m '4: revert content change from rev 2' |
|
57 | $ hg ci -m '4: revert content change from rev 2' | |
58 | created new head |
|
58 | created new head | |
59 |
|
59 | |||
60 | $ hg log --template '{rev}:{node|short} {parents}\n' |
|
60 | $ hg log --template '{rev}:{node|short} {parents}\n' | |
61 | 4:2263c1be0967 2:0f2ff26688b9 |
|
61 | 4:2263c1be0967 2:0f2ff26688b9 | |
62 | 3:0555950ead28 2:0f2ff26688b9 1:5cd961e4045d |
|
62 | 3:0555950ead28 2:0f2ff26688b9 1:5cd961e4045d | |
63 | 2:0f2ff26688b9 0:2665aaee66e9 |
|
63 | 2:0f2ff26688b9 0:2665aaee66e9 | |
64 | 1:5cd961e4045d |
|
64 | 1:5cd961e4045d | |
65 | 0:2665aaee66e9 |
|
65 | 0:2665aaee66e9 | |
66 |
|
66 | |||
67 | This should use bar@rev2 as the ancestor: |
|
67 | This should use bar@rev2 as the ancestor: | |
68 |
|
68 | |||
69 | $ hg --debug merge 3 |
|
69 | $ hg --debug merge 3 | |
70 | searching for copies back to rev 1 |
|
70 | searching for copies back to rev 1 | |
71 | resolving manifests |
|
71 | resolving manifests | |
72 | overwrite None partial False |
|
72 | overwrite None partial False | |
73 | ancestor 0f2ff26688b9 local 2263c1be0967+ remote 0555950ead28 |
|
73 | ancestor 0f2ff26688b9 local 2263c1be0967+ remote 0555950ead28 | |
74 | bar: versions differ -> m |
|
74 | bar: versions differ -> m | |
75 | preserving bar for resolve of bar |
|
75 | preserving bar for resolve of bar | |
76 | updating: bar 1/1 files (100.00%) |
|
76 | updating: bar 1/1 files (100.00%) | |
77 | picked tool 'internal:merge' for bar (binary False symlink False) |
|
77 | picked tool 'internal:merge' for bar (binary False symlink False) | |
78 | merging bar |
|
78 | merging bar | |
79 | my bar@2263c1be0967+ other bar@0555950ead28 ancestor bar@0f2ff26688b9 |
|
79 | my bar@2263c1be0967+ other bar@0555950ead28 ancestor bar@0f2ff26688b9 | |
80 | premerge successful |
|
80 | premerge successful | |
81 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
81 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
82 | (branch merge, don't forget to commit) |
|
82 | (branch merge, don't forget to commit) | |
83 |
|
83 | |||
84 | $ cat bar |
|
84 | $ cat bar | |
85 | line1 |
|
85 | line1 | |
86 | line2 |
|
86 | line2 | |
87 |
|
87 | |||
88 | $ hg ci -m '5: merge' |
|
88 | $ hg ci -m '5: merge' | |
89 |
|
89 | |||
90 |
$ hg debugindex |
|
90 | $ hg debugindex bar | |
91 | rev offset length base linkrev nodeid p1 p2 |
|
91 | rev offset length base linkrev nodeid p1 p2 | |
92 | 0 0 77 0 2 d35118874825 000000000000 000000000000 |
|
92 | 0 0 77 0 2 d35118874825 000000000000 000000000000 | |
93 | 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825 |
|
93 | 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825 | |
94 | 2 153 7 2 4 ff4b45017382 d35118874825 000000000000 |
|
94 | 2 153 7 2 4 ff4b45017382 d35118874825 000000000000 | |
95 | 3 160 13 3 5 3701b4893544 ff4b45017382 5345f5ab8abd |
|
95 | 3 160 13 3 5 3701b4893544 ff4b45017382 5345f5ab8abd | |
96 |
|
96 | |||
97 |
|
97 | |||
98 | Same thing, but with the merge on 3 having the rename |
|
98 | Same thing, but with the merge on 3 having the rename | |
99 | on the remote parent: |
|
99 | on the remote parent: | |
100 |
|
100 | |||
101 | $ cd .. |
|
101 | $ cd .. | |
102 | $ hg clone -U -r 1 -r 2 a b |
|
102 | $ hg clone -U -r 1 -r 2 a b | |
103 | adding changesets |
|
103 | adding changesets | |
104 | adding manifests |
|
104 | adding manifests | |
105 | adding file changes |
|
105 | adding file changes | |
106 | added 3 changesets with 3 changes to 2 files (+1 heads) |
|
106 | added 3 changesets with 3 changes to 2 files (+1 heads) | |
107 | $ cd b |
|
107 | $ cd b | |
108 |
|
108 | |||
109 | $ hg up -C 1 |
|
109 | $ hg up -C 1 | |
110 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
110 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
111 |
|
111 | |||
112 | $ hg merge 2 |
|
112 | $ hg merge 2 | |
113 | merging foo and bar to bar |
|
113 | merging foo and bar to bar | |
114 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
114 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
115 | (branch merge, don't forget to commit) |
|
115 | (branch merge, don't forget to commit) | |
116 |
|
116 | |||
117 | $ cat bar |
|
117 | $ cat bar | |
118 | line0 |
|
118 | line0 | |
119 | line1 |
|
119 | line1 | |
120 | line2 |
|
120 | line2 | |
121 |
|
121 | |||
122 | $ hg ci -m '3: merge with remote rename' |
|
122 | $ hg ci -m '3: merge with remote rename' | |
123 |
|
123 | |||
124 |
$ hg debugindex |
|
124 | $ hg debugindex bar | |
125 | rev offset length base linkrev nodeid p1 p2 |
|
125 | rev offset length base linkrev nodeid p1 p2 | |
126 | 0 0 77 0 2 d35118874825 000000000000 000000000000 |
|
126 | 0 0 77 0 2 d35118874825 000000000000 000000000000 | |
127 | 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825 |
|
127 | 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825 | |
128 |
|
128 | |||
129 | $ hg debugrename bar |
|
129 | $ hg debugrename bar | |
130 | bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2 |
|
130 | bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2 | |
131 |
|
131 | |||
132 |
$ hg debugindex |
|
132 | $ hg debugindex foo | |
133 | rev offset length base linkrev nodeid p1 p2 |
|
133 | rev offset length base linkrev nodeid p1 p2 | |
134 | 0 0 7 0 0 690b295714ae 000000000000 000000000000 |
|
134 | 0 0 7 0 0 690b295714ae 000000000000 000000000000 | |
135 | 1 7 13 1 1 9e25c27b8757 690b295714ae 000000000000 |
|
135 | 1 7 13 1 1 9e25c27b8757 690b295714ae 000000000000 | |
136 |
|
136 | |||
137 |
|
137 | |||
138 | Revert the content change from rev 2: |
|
138 | Revert the content change from rev 2: | |
139 |
|
139 | |||
140 | $ hg up -C 2 |
|
140 | $ hg up -C 2 | |
141 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
141 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
142 | $ rm bar |
|
142 | $ rm bar | |
143 | $ echo line1 > bar |
|
143 | $ echo line1 > bar | |
144 | $ hg ci -m '4: revert content change from rev 2' |
|
144 | $ hg ci -m '4: revert content change from rev 2' | |
145 | created new head |
|
145 | created new head | |
146 |
|
146 | |||
147 | $ hg log --template '{rev}:{node|short} {parents}\n' |
|
147 | $ hg log --template '{rev}:{node|short} {parents}\n' | |
148 | 4:2263c1be0967 2:0f2ff26688b9 |
|
148 | 4:2263c1be0967 2:0f2ff26688b9 | |
149 | 3:3ffa6b9e35f0 1:5cd961e4045d 2:0f2ff26688b9 |
|
149 | 3:3ffa6b9e35f0 1:5cd961e4045d 2:0f2ff26688b9 | |
150 | 2:0f2ff26688b9 0:2665aaee66e9 |
|
150 | 2:0f2ff26688b9 0:2665aaee66e9 | |
151 | 1:5cd961e4045d |
|
151 | 1:5cd961e4045d | |
152 | 0:2665aaee66e9 |
|
152 | 0:2665aaee66e9 | |
153 |
|
153 | |||
154 | This should use bar@rev2 as the ancestor: |
|
154 | This should use bar@rev2 as the ancestor: | |
155 |
|
155 | |||
156 | $ hg --debug merge 3 |
|
156 | $ hg --debug merge 3 | |
157 | searching for copies back to rev 1 |
|
157 | searching for copies back to rev 1 | |
158 | resolving manifests |
|
158 | resolving manifests | |
159 | overwrite None partial False |
|
159 | overwrite None partial False | |
160 | ancestor 0f2ff26688b9 local 2263c1be0967+ remote 3ffa6b9e35f0 |
|
160 | ancestor 0f2ff26688b9 local 2263c1be0967+ remote 3ffa6b9e35f0 | |
161 | bar: versions differ -> m |
|
161 | bar: versions differ -> m | |
162 | preserving bar for resolve of bar |
|
162 | preserving bar for resolve of bar | |
163 | updating: bar 1/1 files (100.00%) |
|
163 | updating: bar 1/1 files (100.00%) | |
164 | picked tool 'internal:merge' for bar (binary False symlink False) |
|
164 | picked tool 'internal:merge' for bar (binary False symlink False) | |
165 | merging bar |
|
165 | merging bar | |
166 | my bar@2263c1be0967+ other bar@3ffa6b9e35f0 ancestor bar@0f2ff26688b9 |
|
166 | my bar@2263c1be0967+ other bar@3ffa6b9e35f0 ancestor bar@0f2ff26688b9 | |
167 | premerge successful |
|
167 | premerge successful | |
168 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
168 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
169 | (branch merge, don't forget to commit) |
|
169 | (branch merge, don't forget to commit) | |
170 |
|
170 | |||
171 | $ cat bar |
|
171 | $ cat bar | |
172 | line1 |
|
172 | line1 | |
173 | line2 |
|
173 | line2 | |
174 |
|
174 | |||
175 | $ hg ci -m '5: merge' |
|
175 | $ hg ci -m '5: merge' | |
176 |
|
176 | |||
177 |
$ hg debugindex |
|
177 | $ hg debugindex bar | |
178 | rev offset length base linkrev nodeid p1 p2 |
|
178 | rev offset length base linkrev nodeid p1 p2 | |
179 | 0 0 77 0 2 d35118874825 000000000000 000000000000 |
|
179 | 0 0 77 0 2 d35118874825 000000000000 000000000000 | |
180 | 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825 |
|
180 | 1 77 76 0 3 5345f5ab8abd 000000000000 d35118874825 | |
181 | 2 153 7 2 4 ff4b45017382 d35118874825 000000000000 |
|
181 | 2 153 7 2 4 ff4b45017382 d35118874825 000000000000 | |
182 | 3 160 13 3 5 3701b4893544 ff4b45017382 5345f5ab8abd |
|
182 | 3 160 13 3 5 3701b4893544 ff4b45017382 5345f5ab8abd | |
183 |
|
183 |
@@ -1,145 +1,145 b'' | |||||
1 | initial |
|
1 | initial | |
2 | $ hg init test-a |
|
2 | $ hg init test-a | |
3 | $ cd test-a |
|
3 | $ cd test-a | |
4 | $ cat >test.txt <<"EOF" |
|
4 | $ cat >test.txt <<"EOF" | |
5 | > 1 |
|
5 | > 1 | |
6 | > 2 |
|
6 | > 2 | |
7 | > 3 |
|
7 | > 3 | |
8 | > EOF |
|
8 | > EOF | |
9 | $ hg add test.txt |
|
9 | $ hg add test.txt | |
10 | $ hg commit -m "Initial" |
|
10 | $ hg commit -m "Initial" | |
11 |
|
11 | |||
12 | clone |
|
12 | clone | |
13 | $ cd .. |
|
13 | $ cd .. | |
14 | $ hg clone test-a test-b |
|
14 | $ hg clone test-a test-b | |
15 | updating to branch default |
|
15 | updating to branch default | |
16 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
16 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
17 |
|
17 | |||
18 | change test-a |
|
18 | change test-a | |
19 | $ cd test-a |
|
19 | $ cd test-a | |
20 | $ cat >test.txt <<"EOF" |
|
20 | $ cat >test.txt <<"EOF" | |
21 | > one |
|
21 | > one | |
22 | > two |
|
22 | > two | |
23 | > three |
|
23 | > three | |
24 | > EOF |
|
24 | > EOF | |
25 | $ hg commit -m "Numbers as words" |
|
25 | $ hg commit -m "Numbers as words" | |
26 |
|
26 | |||
27 | change test-b |
|
27 | change test-b | |
28 | $ cd ../test-b |
|
28 | $ cd ../test-b | |
29 | $ cat >test.txt <<"EOF" |
|
29 | $ cat >test.txt <<"EOF" | |
30 | > 1 |
|
30 | > 1 | |
31 | > 2.5 |
|
31 | > 2.5 | |
32 | > 3 |
|
32 | > 3 | |
33 | > EOF |
|
33 | > EOF | |
34 | $ hg commit -m "2 -> 2.5" |
|
34 | $ hg commit -m "2 -> 2.5" | |
35 |
|
35 | |||
36 | now pull and merge from test-a |
|
36 | now pull and merge from test-a | |
37 | $ hg pull ../test-a |
|
37 | $ hg pull ../test-a | |
38 | pulling from ../test-a |
|
38 | pulling from ../test-a | |
39 | searching for changes |
|
39 | searching for changes | |
40 | adding changesets |
|
40 | adding changesets | |
41 | adding manifests |
|
41 | adding manifests | |
42 | adding file changes |
|
42 | adding file changes | |
43 | added 1 changesets with 1 changes to 1 files (+1 heads) |
|
43 | added 1 changesets with 1 changes to 1 files (+1 heads) | |
44 | (run 'hg heads' to see heads, 'hg merge' to merge) |
|
44 | (run 'hg heads' to see heads, 'hg merge' to merge) | |
45 | $ hg merge |
|
45 | $ hg merge | |
46 | merging test.txt |
|
46 | merging test.txt | |
47 | warning: conflicts during merge. |
|
47 | warning: conflicts during merge. | |
48 | merging test.txt failed! |
|
48 | merging test.txt failed! | |
49 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved |
|
49 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | |
50 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon |
|
50 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | |
51 | [1] |
|
51 | [1] | |
52 | resolve conflict |
|
52 | resolve conflict | |
53 | $ cat >test.txt <<"EOF" |
|
53 | $ cat >test.txt <<"EOF" | |
54 | > one |
|
54 | > one | |
55 | > two-point-five |
|
55 | > two-point-five | |
56 | > three |
|
56 | > three | |
57 | > EOF |
|
57 | > EOF | |
58 | $ rm -f *.orig |
|
58 | $ rm -f *.orig | |
59 | $ hg resolve -m test.txt |
|
59 | $ hg resolve -m test.txt | |
60 | $ hg commit -m "Merge 1" |
|
60 | $ hg commit -m "Merge 1" | |
61 |
|
61 | |||
62 | change test-a again |
|
62 | change test-a again | |
63 | $ cd ../test-a |
|
63 | $ cd ../test-a | |
64 | $ cat >test.txt <<"EOF" |
|
64 | $ cat >test.txt <<"EOF" | |
65 | > one |
|
65 | > one | |
66 | > two-point-one |
|
66 | > two-point-one | |
67 | > three |
|
67 | > three | |
68 | > EOF |
|
68 | > EOF | |
69 | $ hg commit -m "two -> two-point-one" |
|
69 | $ hg commit -m "two -> two-point-one" | |
70 |
|
70 | |||
71 | pull and merge from test-a again |
|
71 | pull and merge from test-a again | |
72 | $ cd ../test-b |
|
72 | $ cd ../test-b | |
73 | $ hg pull ../test-a |
|
73 | $ hg pull ../test-a | |
74 | pulling from ../test-a |
|
74 | pulling from ../test-a | |
75 | searching for changes |
|
75 | searching for changes | |
76 | adding changesets |
|
76 | adding changesets | |
77 | adding manifests |
|
77 | adding manifests | |
78 | adding file changes |
|
78 | adding file changes | |
79 | added 1 changesets with 1 changes to 1 files (+1 heads) |
|
79 | added 1 changesets with 1 changes to 1 files (+1 heads) | |
80 | (run 'hg heads' to see heads, 'hg merge' to merge) |
|
80 | (run 'hg heads' to see heads, 'hg merge' to merge) | |
81 | $ hg merge --debug |
|
81 | $ hg merge --debug | |
82 | searching for copies back to rev 1 |
|
82 | searching for copies back to rev 1 | |
83 | resolving manifests |
|
83 | resolving manifests | |
84 | overwrite None partial False |
|
84 | overwrite None partial False | |
85 | ancestor 96b70246a118 local 50c3a7e29886+ remote 40d11a4173a8 |
|
85 | ancestor 96b70246a118 local 50c3a7e29886+ remote 40d11a4173a8 | |
86 | test.txt: versions differ -> m |
|
86 | test.txt: versions differ -> m | |
87 | preserving test.txt for resolve of test.txt |
|
87 | preserving test.txt for resolve of test.txt | |
88 | updating: test.txt 1/1 files (100.00%) |
|
88 | updating: test.txt 1/1 files (100.00%) | |
89 | picked tool 'internal:merge' for test.txt (binary False symlink False) |
|
89 | picked tool 'internal:merge' for test.txt (binary False symlink False) | |
90 | merging test.txt |
|
90 | merging test.txt | |
91 | my test.txt@50c3a7e29886+ other test.txt@40d11a4173a8 ancestor test.txt@96b70246a118 |
|
91 | my test.txt@50c3a7e29886+ other test.txt@40d11a4173a8 ancestor test.txt@96b70246a118 | |
92 | warning: conflicts during merge. |
|
92 | warning: conflicts during merge. | |
93 | merging test.txt failed! |
|
93 | merging test.txt failed! | |
94 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved |
|
94 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | |
95 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon |
|
95 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | |
96 | [1] |
|
96 | [1] | |
97 |
|
97 | |||
98 | $ cat test.txt |
|
98 | $ cat test.txt | |
99 | one |
|
99 | one | |
100 | <<<<<<< local |
|
100 | <<<<<<< local | |
101 | two-point-five |
|
101 | two-point-five | |
102 | ======= |
|
102 | ======= | |
103 | two-point-one |
|
103 | two-point-one | |
104 | >>>>>>> other |
|
104 | >>>>>>> other | |
105 | three |
|
105 | three | |
106 |
|
106 | |||
107 |
$ hg debugindex |
|
107 | $ hg debugindex test.txt | |
108 | rev offset length base linkrev nodeid p1 p2 |
|
108 | rev offset length base linkrev nodeid p1 p2 | |
109 | 0 0 7 0 0 01365c4cca56 000000000000 000000000000 |
|
109 | 0 0 7 0 0 01365c4cca56 000000000000 000000000000 | |
110 | 1 7 9 1 1 7b013192566a 01365c4cca56 000000000000 |
|
110 | 1 7 9 1 1 7b013192566a 01365c4cca56 000000000000 | |
111 | 2 16 15 2 2 8fe46a3eb557 01365c4cca56 000000000000 |
|
111 | 2 16 15 2 2 8fe46a3eb557 01365c4cca56 000000000000 | |
112 | 3 31 27 2 3 fc3148072371 7b013192566a 8fe46a3eb557 |
|
112 | 3 31 27 2 3 fc3148072371 7b013192566a 8fe46a3eb557 | |
113 | 4 58 25 4 4 d40249267ae3 8fe46a3eb557 000000000000 |
|
113 | 4 58 25 4 4 d40249267ae3 8fe46a3eb557 000000000000 | |
114 |
|
114 | |||
115 | $ hg log |
|
115 | $ hg log | |
116 | changeset: 4:40d11a4173a8 |
|
116 | changeset: 4:40d11a4173a8 | |
117 | tag: tip |
|
117 | tag: tip | |
118 | parent: 2:96b70246a118 |
|
118 | parent: 2:96b70246a118 | |
119 | user: test |
|
119 | user: test | |
120 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
120 | date: Thu Jan 01 00:00:00 1970 +0000 | |
121 | summary: two -> two-point-one |
|
121 | summary: two -> two-point-one | |
122 |
|
122 | |||
123 | changeset: 3:50c3a7e29886 |
|
123 | changeset: 3:50c3a7e29886 | |
124 | parent: 1:d1e159716d41 |
|
124 | parent: 1:d1e159716d41 | |
125 | parent: 2:96b70246a118 |
|
125 | parent: 2:96b70246a118 | |
126 | user: test |
|
126 | user: test | |
127 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
127 | date: Thu Jan 01 00:00:00 1970 +0000 | |
128 | summary: Merge 1 |
|
128 | summary: Merge 1 | |
129 |
|
129 | |||
130 | changeset: 2:96b70246a118 |
|
130 | changeset: 2:96b70246a118 | |
131 | parent: 0:b1832b9d912a |
|
131 | parent: 0:b1832b9d912a | |
132 | user: test |
|
132 | user: test | |
133 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
133 | date: Thu Jan 01 00:00:00 1970 +0000 | |
134 | summary: Numbers as words |
|
134 | summary: Numbers as words | |
135 |
|
135 | |||
136 | changeset: 1:d1e159716d41 |
|
136 | changeset: 1:d1e159716d41 | |
137 | user: test |
|
137 | user: test | |
138 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
138 | date: Thu Jan 01 00:00:00 1970 +0000 | |
139 | summary: 2 -> 2.5 |
|
139 | summary: 2 -> 2.5 | |
140 |
|
140 | |||
141 | changeset: 0:b1832b9d912a |
|
141 | changeset: 0:b1832b9d912a | |
142 | user: test |
|
142 | user: test | |
143 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
143 | date: Thu Jan 01 00:00:00 1970 +0000 | |
144 | summary: Initial |
|
144 | summary: Initial | |
145 |
|
145 |
@@ -1,157 +1,157 b'' | |||||
1 | $ hg init |
|
1 | $ hg init | |
2 |
|
2 | |||
3 | $ echo "[merge]" >> .hg/hgrc |
|
3 | $ echo "[merge]" >> .hg/hgrc | |
4 | $ echo "followcopies = 1" >> .hg/hgrc |
|
4 | $ echo "followcopies = 1" >> .hg/hgrc | |
5 |
|
5 | |||
6 | $ echo foo > a |
|
6 | $ echo foo > a | |
7 | $ echo foo > a2 |
|
7 | $ echo foo > a2 | |
8 | $ hg add a a2 |
|
8 | $ hg add a a2 | |
9 | $ hg ci -m "start" |
|
9 | $ hg ci -m "start" | |
10 |
|
10 | |||
11 | $ hg mv a b |
|
11 | $ hg mv a b | |
12 | $ hg mv a2 b2 |
|
12 | $ hg mv a2 b2 | |
13 | $ hg ci -m "rename" |
|
13 | $ hg ci -m "rename" | |
14 |
|
14 | |||
15 | $ hg co 0 |
|
15 | $ hg co 0 | |
16 | 2 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
16 | 2 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
17 |
|
17 | |||
18 | $ echo blahblah > a |
|
18 | $ echo blahblah > a | |
19 | $ echo blahblah > a2 |
|
19 | $ echo blahblah > a2 | |
20 | $ hg mv a2 c2 |
|
20 | $ hg mv a2 c2 | |
21 | $ hg ci -m "modify" |
|
21 | $ hg ci -m "modify" | |
22 | created new head |
|
22 | created new head | |
23 |
|
23 | |||
24 | $ hg merge -y --debug |
|
24 | $ hg merge -y --debug | |
25 | searching for copies back to rev 1 |
|
25 | searching for copies back to rev 1 | |
26 | unmatched files in local: |
|
26 | unmatched files in local: | |
27 | c2 |
|
27 | c2 | |
28 | unmatched files in other: |
|
28 | unmatched files in other: | |
29 | b |
|
29 | b | |
30 | b2 |
|
30 | b2 | |
31 | all copies found (* = to merge, ! = divergent): |
|
31 | all copies found (* = to merge, ! = divergent): | |
32 | c2 -> a2 ! |
|
32 | c2 -> a2 ! | |
33 | b -> a * |
|
33 | b -> a * | |
34 | b2 -> a2 ! |
|
34 | b2 -> a2 ! | |
35 | checking for directory renames |
|
35 | checking for directory renames | |
36 | a2: divergent renames -> dr |
|
36 | a2: divergent renames -> dr | |
37 | resolving manifests |
|
37 | resolving manifests | |
38 | overwrite None partial False |
|
38 | overwrite None partial False | |
39 | ancestor af1939970a1c local 044f8520aeeb+ remote 85c198ef2f6c |
|
39 | ancestor af1939970a1c local 044f8520aeeb+ remote 85c198ef2f6c | |
40 | a: remote moved to b -> m |
|
40 | a: remote moved to b -> m | |
41 | b2: remote created -> g |
|
41 | b2: remote created -> g | |
42 | preserving a for resolve of b |
|
42 | preserving a for resolve of b | |
43 | removing a |
|
43 | removing a | |
44 | updating: a 1/3 files (33.33%) |
|
44 | updating: a 1/3 files (33.33%) | |
45 | picked tool 'internal:merge' for b (binary False symlink False) |
|
45 | picked tool 'internal:merge' for b (binary False symlink False) | |
46 | merging a and b to b |
|
46 | merging a and b to b | |
47 | my b@044f8520aeeb+ other b@85c198ef2f6c ancestor a@af1939970a1c |
|
47 | my b@044f8520aeeb+ other b@85c198ef2f6c ancestor a@af1939970a1c | |
48 | premerge successful |
|
48 | premerge successful | |
49 | updating: a2 2/3 files (66.67%) |
|
49 | updating: a2 2/3 files (66.67%) | |
50 | note: possible conflict - a2 was renamed multiple times to: |
|
50 | note: possible conflict - a2 was renamed multiple times to: | |
51 | c2 |
|
51 | c2 | |
52 | b2 |
|
52 | b2 | |
53 | updating: b2 3/3 files (100.00%) |
|
53 | updating: b2 3/3 files (100.00%) | |
54 | getting b2 |
|
54 | getting b2 | |
55 | 1 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
55 | 1 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
56 | (branch merge, don't forget to commit) |
|
56 | (branch merge, don't forget to commit) | |
57 |
|
57 | |||
58 | $ hg status -AC |
|
58 | $ hg status -AC | |
59 | M b |
|
59 | M b | |
60 | a |
|
60 | a | |
61 | M b2 |
|
61 | M b2 | |
62 | R a |
|
62 | R a | |
63 | C c2 |
|
63 | C c2 | |
64 |
|
64 | |||
65 | $ cat b |
|
65 | $ cat b | |
66 | blahblah |
|
66 | blahblah | |
67 |
|
67 | |||
68 | $ hg ci -m "merge" |
|
68 | $ hg ci -m "merge" | |
69 |
|
69 | |||
70 |
$ hg debugindex |
|
70 | $ hg debugindex b | |
71 | rev offset length base linkrev nodeid p1 p2 |
|
71 | rev offset length base linkrev nodeid p1 p2 | |
72 | 0 0 67 0 1 57eacc201a7f 000000000000 000000000000 |
|
72 | 0 0 67 0 1 57eacc201a7f 000000000000 000000000000 | |
73 | 1 67 72 1 3 4727ba907962 000000000000 57eacc201a7f |
|
73 | 1 67 72 1 3 4727ba907962 000000000000 57eacc201a7f | |
74 |
|
74 | |||
75 | $ hg debugrename b |
|
75 | $ hg debugrename b | |
76 | b renamed from a:dd03b83622e78778b403775d0d074b9ac7387a66 |
|
76 | b renamed from a:dd03b83622e78778b403775d0d074b9ac7387a66 | |
77 |
|
77 | |||
78 | This used to trigger a "divergent renames" warning, despite no renames |
|
78 | This used to trigger a "divergent renames" warning, despite no renames | |
79 |
|
79 | |||
80 | $ hg cp b b3 |
|
80 | $ hg cp b b3 | |
81 | $ hg cp b b4 |
|
81 | $ hg cp b b4 | |
82 | $ hg ci -A -m 'copy b twice' |
|
82 | $ hg ci -A -m 'copy b twice' | |
83 | $ hg up eb92d88a9712 |
|
83 | $ hg up eb92d88a9712 | |
84 | 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
84 | 0 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
85 | $ hg up |
|
85 | $ hg up | |
86 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
86 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
87 | $ hg rm b3 b4 |
|
87 | $ hg rm b3 b4 | |
88 | $ hg ci -m 'clean up a bit of our mess' |
|
88 | $ hg ci -m 'clean up a bit of our mess' | |
89 |
|
89 | |||
90 | We'd rather not warn on divergent renames done in the same changeset (issue2113) |
|
90 | We'd rather not warn on divergent renames done in the same changeset (issue2113) | |
91 |
|
91 | |||
92 | $ hg cp b b3 |
|
92 | $ hg cp b b3 | |
93 | $ hg mv b b4 |
|
93 | $ hg mv b b4 | |
94 | $ hg ci -A -m 'divergent renames in same changeset' |
|
94 | $ hg ci -A -m 'divergent renames in same changeset' | |
95 | $ hg up c761c6948de0 |
|
95 | $ hg up c761c6948de0 | |
96 | 1 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
96 | 1 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
97 | $ hg up |
|
97 | $ hg up | |
98 | note: possible conflict - b was renamed multiple times to: |
|
98 | note: possible conflict - b was renamed multiple times to: | |
99 | b3 |
|
99 | b3 | |
100 | b4 |
|
100 | b4 | |
101 | 2 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
101 | 2 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
102 |
|
102 | |||
103 | Check for issue2642 |
|
103 | Check for issue2642 | |
104 |
|
104 | |||
105 | $ hg init t |
|
105 | $ hg init t | |
106 | $ cd t |
|
106 | $ cd t | |
107 |
|
107 | |||
108 | $ echo c0 > f1 |
|
108 | $ echo c0 > f1 | |
109 | $ hg ci -Aqm0 |
|
109 | $ hg ci -Aqm0 | |
110 |
|
110 | |||
111 | $ hg up null -q |
|
111 | $ hg up null -q | |
112 | $ echo c1 > f1 # backport |
|
112 | $ echo c1 > f1 # backport | |
113 | $ hg ci -Aqm1 |
|
113 | $ hg ci -Aqm1 | |
114 | $ hg mv f1 f2 |
|
114 | $ hg mv f1 f2 | |
115 | $ hg ci -qm2 |
|
115 | $ hg ci -qm2 | |
116 |
|
116 | |||
117 | $ hg up 0 -q |
|
117 | $ hg up 0 -q | |
118 | $ hg merge 1 -q --tool internal:local |
|
118 | $ hg merge 1 -q --tool internal:local | |
119 | $ hg ci -qm3 |
|
119 | $ hg ci -qm3 | |
120 |
|
120 | |||
121 | $ hg merge 2 |
|
121 | $ hg merge 2 | |
122 | merging f1 and f2 to f2 |
|
122 | merging f1 and f2 to f2 | |
123 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
123 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
124 | (branch merge, don't forget to commit) |
|
124 | (branch merge, don't forget to commit) | |
125 |
|
125 | |||
126 | $ cat f2 |
|
126 | $ cat f2 | |
127 | c0 |
|
127 | c0 | |
128 |
|
128 | |||
129 | Check for issue2089 |
|
129 | Check for issue2089 | |
130 |
|
130 | |||
131 | $ hg init repo2089 |
|
131 | $ hg init repo2089 | |
132 | $ cd repo2089 |
|
132 | $ cd repo2089 | |
133 |
|
133 | |||
134 | $ echo c0 > f1 |
|
134 | $ echo c0 > f1 | |
135 | $ hg ci -Aqm0 |
|
135 | $ hg ci -Aqm0 | |
136 |
|
136 | |||
137 | $ hg up null -q |
|
137 | $ hg up null -q | |
138 | $ echo c1 > f1 |
|
138 | $ echo c1 > f1 | |
139 | $ hg ci -Aqm1 |
|
139 | $ hg ci -Aqm1 | |
140 |
|
140 | |||
141 | $ hg up 0 -q |
|
141 | $ hg up 0 -q | |
142 | $ hg merge 1 -q --tool internal:local |
|
142 | $ hg merge 1 -q --tool internal:local | |
143 | $ echo c2 > f1 |
|
143 | $ echo c2 > f1 | |
144 | $ hg ci -qm2 |
|
144 | $ hg ci -qm2 | |
145 |
|
145 | |||
146 | $ hg up 1 -q |
|
146 | $ hg up 1 -q | |
147 | $ hg mv f1 f2 |
|
147 | $ hg mv f1 f2 | |
148 | $ hg ci -Aqm3 |
|
148 | $ hg ci -Aqm3 | |
149 |
|
149 | |||
150 | $ hg up 2 -q |
|
150 | $ hg up 2 -q | |
151 | $ hg merge 3 |
|
151 | $ hg merge 3 | |
152 | merging f1 and f2 to f2 |
|
152 | merging f1 and f2 to f2 | |
153 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
153 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
154 | (branch merge, don't forget to commit) |
|
154 | (branch merge, don't forget to commit) | |
155 |
|
155 | |||
156 | $ cat f2 |
|
156 | $ cat f2 | |
157 | c2 |
|
157 | c2 |
@@ -1,21 +1,21 b'' | |||||
1 | $ hg init repo |
|
1 | $ hg init repo | |
2 | $ cd repo |
|
2 | $ cd repo | |
3 |
|
3 | |||
4 | $ touch foo |
|
4 | $ touch foo | |
5 | $ hg ci -Am 'add foo' |
|
5 | $ hg ci -Am 'add foo' | |
6 | adding foo |
|
6 | adding foo | |
7 |
|
7 | |||
8 | $ hg up -C null |
|
8 | $ hg up -C null | |
9 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
9 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
10 |
|
10 | |||
11 | this should be stored as a delta against rev 0 |
|
11 | this should be stored as a delta against rev 0 | |
12 |
|
12 | |||
13 | $ echo foo bar baz > foo |
|
13 | $ echo foo bar baz > foo | |
14 | $ hg ci -Am 'add foo again' |
|
14 | $ hg ci -Am 'add foo again' | |
15 | adding foo |
|
15 | adding foo | |
16 | created new head |
|
16 | created new head | |
17 |
|
17 | |||
18 |
$ hg debugindex |
|
18 | $ hg debugindex foo | |
19 | rev offset length base linkrev nodeid p1 p2 |
|
19 | rev offset length base linkrev nodeid p1 p2 | |
20 | 0 0 0 0 0 b80de5d13875 000000000000 000000000000 |
|
20 | 0 0 0 0 0 b80de5d13875 000000000000 000000000000 | |
21 | 1 0 24 0 1 0376abec49b8 000000000000 000000000000 |
|
21 | 1 0 24 0 1 0376abec49b8 000000000000 000000000000 |
@@ -1,141 +1,143 b'' | |||||
1 | test stripping of filelogs where the linkrev doesn't always increase |
|
1 | test stripping of filelogs where the linkrev doesn't always increase | |
2 |
|
2 | |||
3 | $ echo '[extensions]' >> $HGRCPATH |
|
3 | $ echo '[extensions]' >> $HGRCPATH | |
4 | $ echo 'hgext.mq =' >> $HGRCPATH |
|
4 | $ echo 'hgext.mq =' >> $HGRCPATH | |
5 | $ hg init orig |
|
5 | $ hg init orig | |
6 | $ cd orig |
|
6 | $ cd orig | |
7 | $ commit() |
|
7 | $ commit() | |
8 | > { |
|
8 | > { | |
9 | > hg up -qC null |
|
9 | > hg up -qC null | |
10 | > count=1 |
|
10 | > count=1 | |
11 | > for i in "$@"; do |
|
11 | > for i in "$@"; do | |
12 | > for f in $i; do |
|
12 | > for f in $i; do | |
13 | > echo $count > $f |
|
13 | > echo $count > $f | |
14 | > done |
|
14 | > done | |
15 | > count=`expr $count + 1` |
|
15 | > count=`expr $count + 1` | |
16 | > done |
|
16 | > done | |
17 | > hg commit -qAm "$*" |
|
17 | > hg commit -qAm "$*" | |
18 | > } |
|
18 | > } | |
19 |
|
19 | |||
20 | 2 1 0 2 0 1 2 |
|
20 | 2 1 0 2 0 1 2 | |
21 |
|
21 | |||
22 | $ commit '201 210' |
|
22 | $ commit '201 210' | |
23 | $ commit '102 120' '210' |
|
23 | $ commit '102 120' '210' | |
24 | $ commit '021' |
|
24 | $ commit '021' | |
25 | $ commit '201' '021 120' |
|
25 | $ commit '201' '021 120' | |
26 | $ commit '012 021' '102 201' '120 210' |
|
26 | $ commit '012 021' '102 201' '120 210' | |
27 | $ commit 'manifest-file' |
|
27 | $ commit 'manifest-file' | |
28 | $ commit '102 120' '012 210' '021 201' |
|
28 | $ commit '102 120' '012 210' '021 201' | |
29 | $ commit '201 210' '021 120' '012 102' |
|
29 | $ commit '201 210' '021 120' '012 102' | |
30 | $ HGUSER=another-user; export HGUSER |
|
30 | $ HGUSER=another-user; export HGUSER | |
31 | $ commit 'manifest-file' |
|
31 | $ commit 'manifest-file' | |
32 | $ commit '012' 'manifest-file' |
|
32 | $ commit '012' 'manifest-file' | |
33 | $ cd .. |
|
33 | $ cd .. | |
34 | $ hg clone -q -U -r -1 -r -2 -r -3 -r -4 -r -6 orig crossed |
|
34 | $ hg clone -q -U -r -1 -r -2 -r -3 -r -4 -r -6 orig crossed | |
35 | $ for i in crossed/.hg/store/00manifest.i crossed/.hg/store/data/*.i; do |
|
35 | $ cd crossed | |
36 | > echo $i |
|
36 | $ hg debugindex .hg/store/00manifest.i | |
37 | > hg debugindex $i |
|
|||
38 | > echo |
|
|||
39 | > done |
|
|||
40 | crossed/.hg/store/00manifest.i |
|
|||
41 | rev offset length base linkrev nodeid p1 p2 |
|
37 | rev offset length base linkrev nodeid p1 p2 | |
42 | 0 0 112 0 0 6f105cbb914d 000000000000 000000000000 |
|
38 | 0 0 112 0 0 6f105cbb914d 000000000000 000000000000 | |
43 | 1 112 56 1 3 1b55917b3699 000000000000 000000000000 |
|
39 | 1 112 56 1 3 1b55917b3699 000000000000 000000000000 | |
44 | 2 168 123 1 1 8f3d04e263e5 000000000000 000000000000 |
|
40 | 2 168 123 1 1 8f3d04e263e5 000000000000 000000000000 | |
45 | 3 291 122 1 2 f0ef8726ac4f 000000000000 000000000000 |
|
41 | 3 291 122 1 2 f0ef8726ac4f 000000000000 000000000000 | |
46 | 4 413 87 4 4 0b76e38b4070 000000000000 000000000000 |
|
42 | 4 413 87 4 4 0b76e38b4070 000000000000 000000000000 | |
47 |
|
43 | |||
48 | crossed/.hg/store/data/012.i |
|
44 | $ for i in 012 021 102 120 201 210 manifest-file; do | |
|
45 | > echo $i | |||
|
46 | > hg debugindex $i | |||
|
47 | > echo | |||
|
48 | > done | |||
|
49 | 012 | |||
49 | rev offset length base linkrev nodeid p1 p2 |
|
50 | rev offset length base linkrev nodeid p1 p2 | |
50 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 |
|
51 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 | |
51 | 1 3 3 1 1 5d9299349fc0 000000000000 000000000000 |
|
52 | 1 3 3 1 1 5d9299349fc0 000000000000 000000000000 | |
52 | 2 6 3 2 2 2661d26c6496 000000000000 000000000000 |
|
53 | 2 6 3 2 2 2661d26c6496 000000000000 000000000000 | |
53 |
|
54 | |||
54 | crossed/.hg/store/data/021.i |
|
55 | 021 | |
55 | rev offset length base linkrev nodeid p1 p2 |
|
56 | rev offset length base linkrev nodeid p1 p2 | |
56 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 |
|
57 | 0 0 3 0 0 b8e02f643373 000000000000 000000000000 | |
57 | 1 3 3 1 2 5d9299349fc0 000000000000 000000000000 |
|
58 | 1 3 3 1 2 5d9299349fc0 000000000000 000000000000 | |
58 | 2 6 3 2 1 2661d26c6496 000000000000 000000000000 |
|
59 | 2 6 3 2 1 2661d26c6496 000000000000 000000000000 | |
59 |
|
60 | |||
60 | crossed/.hg/store/data/102.i |
|
61 | 102 | |
61 | rev offset length base linkrev nodeid p1 p2 |
|
62 | rev offset length base linkrev nodeid p1 p2 | |
62 | 0 0 3 0 1 b8e02f643373 000000000000 000000000000 |
|
63 | 0 0 3 0 1 b8e02f643373 000000000000 000000000000 | |
63 | 1 3 3 1 0 5d9299349fc0 000000000000 000000000000 |
|
64 | 1 3 3 1 0 5d9299349fc0 000000000000 000000000000 | |
64 | 2 6 3 2 2 2661d26c6496 000000000000 000000000000 |
|
65 | 2 6 3 2 2 2661d26c6496 000000000000 000000000000 | |
65 |
|
66 | |||
66 | crossed/.hg/store/data/120.i |
|
67 | 120 | |
67 | rev offset length base linkrev nodeid p1 p2 |
|
68 | rev offset length base linkrev nodeid p1 p2 | |
68 | 0 0 3 0 1 b8e02f643373 000000000000 000000000000 |
|
69 | 0 0 3 0 1 b8e02f643373 000000000000 000000000000 | |
69 | 1 3 3 1 2 5d9299349fc0 000000000000 000000000000 |
|
70 | 1 3 3 1 2 5d9299349fc0 000000000000 000000000000 | |
70 | 2 6 3 2 0 2661d26c6496 000000000000 000000000000 |
|
71 | 2 6 3 2 0 2661d26c6496 000000000000 000000000000 | |
71 |
|
72 | |||
72 | crossed/.hg/store/data/201.i |
|
73 | 201 | |
73 | rev offset length base linkrev nodeid p1 p2 |
|
74 | rev offset length base linkrev nodeid p1 p2 | |
74 | 0 0 3 0 2 b8e02f643373 000000000000 000000000000 |
|
75 | 0 0 3 0 2 b8e02f643373 000000000000 000000000000 | |
75 | 1 3 3 1 0 5d9299349fc0 000000000000 000000000000 |
|
76 | 1 3 3 1 0 5d9299349fc0 000000000000 000000000000 | |
76 | 2 6 3 2 1 2661d26c6496 000000000000 000000000000 |
|
77 | 2 6 3 2 1 2661d26c6496 000000000000 000000000000 | |
77 |
|
78 | |||
78 | crossed/.hg/store/data/210.i |
|
79 | 210 | |
79 | rev offset length base linkrev nodeid p1 p2 |
|
80 | rev offset length base linkrev nodeid p1 p2 | |
80 | 0 0 3 0 2 b8e02f643373 000000000000 000000000000 |
|
81 | 0 0 3 0 2 b8e02f643373 000000000000 000000000000 | |
81 | 1 3 3 1 1 5d9299349fc0 000000000000 000000000000 |
|
82 | 1 3 3 1 1 5d9299349fc0 000000000000 000000000000 | |
82 | 2 6 3 2 0 2661d26c6496 000000000000 000000000000 |
|
83 | 2 6 3 2 0 2661d26c6496 000000000000 000000000000 | |
83 |
|
84 | |||
84 | crossed/.hg/store/data/manifest-file.i |
|
85 | manifest-file | |
85 | rev offset length base linkrev nodeid p1 p2 |
|
86 | rev offset length base linkrev nodeid p1 p2 | |
86 | 0 0 3 0 3 b8e02f643373 000000000000 000000000000 |
|
87 | 0 0 3 0 3 b8e02f643373 000000000000 000000000000 | |
87 | 1 3 3 1 4 5d9299349fc0 000000000000 000000000000 |
|
88 | 1 3 3 1 4 5d9299349fc0 000000000000 000000000000 | |
88 |
|
89 | |||
|
90 | $ cd .. | |||
89 | $ for i in 0 1 2 3 4; do |
|
91 | $ for i in 0 1 2 3 4; do | |
90 | > hg clone -q -U --pull crossed $i |
|
92 | > hg clone -q -U --pull crossed $i | |
91 | > echo "% Trying to strip revision $i" |
|
93 | > echo "% Trying to strip revision $i" | |
92 | > hg --cwd $i strip $i |
|
94 | > hg --cwd $i strip $i | |
93 | > echo "% Verifying" |
|
95 | > echo "% Verifying" | |
94 | > hg --cwd $i verify |
|
96 | > hg --cwd $i verify | |
95 | > echo |
|
97 | > echo | |
96 | > done |
|
98 | > done | |
97 | % Trying to strip revision 0 |
|
99 | % Trying to strip revision 0 | |
98 | saved backup bundle to $TESTTMP/0/.hg/strip-backup/*-backup.hg (glob) |
|
100 | saved backup bundle to $TESTTMP/0/.hg/strip-backup/*-backup.hg (glob) | |
99 | % Verifying |
|
101 | % Verifying | |
100 | checking changesets |
|
102 | checking changesets | |
101 | checking manifests |
|
103 | checking manifests | |
102 | crosschecking files in changesets and manifests |
|
104 | crosschecking files in changesets and manifests | |
103 | checking files |
|
105 | checking files | |
104 | 7 files, 4 changesets, 15 total revisions |
|
106 | 7 files, 4 changesets, 15 total revisions | |
105 |
|
107 | |||
106 | % Trying to strip revision 1 |
|
108 | % Trying to strip revision 1 | |
107 | saved backup bundle to $TESTTMP/1/.hg/strip-backup/*-backup.hg (glob) |
|
109 | saved backup bundle to $TESTTMP/1/.hg/strip-backup/*-backup.hg (glob) | |
108 | % Verifying |
|
110 | % Verifying | |
109 | checking changesets |
|
111 | checking changesets | |
110 | checking manifests |
|
112 | checking manifests | |
111 | crosschecking files in changesets and manifests |
|
113 | crosschecking files in changesets and manifests | |
112 | checking files |
|
114 | checking files | |
113 | 7 files, 4 changesets, 14 total revisions |
|
115 | 7 files, 4 changesets, 14 total revisions | |
114 |
|
116 | |||
115 | % Trying to strip revision 2 |
|
117 | % Trying to strip revision 2 | |
116 | saved backup bundle to $TESTTMP/2/.hg/strip-backup/*-backup.hg (glob) |
|
118 | saved backup bundle to $TESTTMP/2/.hg/strip-backup/*-backup.hg (glob) | |
117 | % Verifying |
|
119 | % Verifying | |
118 | checking changesets |
|
120 | checking changesets | |
119 | checking manifests |
|
121 | checking manifests | |
120 | crosschecking files in changesets and manifests |
|
122 | crosschecking files in changesets and manifests | |
121 | checking files |
|
123 | checking files | |
122 | 7 files, 4 changesets, 14 total revisions |
|
124 | 7 files, 4 changesets, 14 total revisions | |
123 |
|
125 | |||
124 | % Trying to strip revision 3 |
|
126 | % Trying to strip revision 3 | |
125 | saved backup bundle to $TESTTMP/3/.hg/strip-backup/*-backup.hg (glob) |
|
127 | saved backup bundle to $TESTTMP/3/.hg/strip-backup/*-backup.hg (glob) | |
126 | % Verifying |
|
128 | % Verifying | |
127 | checking changesets |
|
129 | checking changesets | |
128 | checking manifests |
|
130 | checking manifests | |
129 | crosschecking files in changesets and manifests |
|
131 | crosschecking files in changesets and manifests | |
130 | checking files |
|
132 | checking files | |
131 | 7 files, 4 changesets, 19 total revisions |
|
133 | 7 files, 4 changesets, 19 total revisions | |
132 |
|
134 | |||
133 | % Trying to strip revision 4 |
|
135 | % Trying to strip revision 4 | |
134 | saved backup bundle to $TESTTMP/4/.hg/strip-backup/*-backup.hg (glob) |
|
136 | saved backup bundle to $TESTTMP/4/.hg/strip-backup/*-backup.hg (glob) | |
135 | % Verifying |
|
137 | % Verifying | |
136 | checking changesets |
|
138 | checking changesets | |
137 | checking manifests |
|
139 | checking manifests | |
138 | crosschecking files in changesets and manifests |
|
140 | crosschecking files in changesets and manifests | |
139 | checking files |
|
141 | checking files | |
140 | 7 files, 4 changesets, 19 total revisions |
|
142 | 7 files, 4 changesets, 19 total revisions | |
141 |
|
143 |
General Comments 0
You need to be logged in to leave comments.
Login now