135 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
135 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
136 $ cat foo |
136 $ cat foo |
137 large |
137 large |
138 |
138 |
139 $ cd .. |
139 $ cd .. |
|
140 |
|
141 |
|
142 Systematic testing of merges involving largefiles: |
|
143 |
|
144 Ancestor: normal Parent: normal= Parent: large result: large |
|
145 Ancestor: normal Parent: normal2 Parent: large result: ? |
|
146 Ancestor: large Parent: large= Parent: normal result: normal |
|
147 Ancestor: large Parent: large2 Parent: normal result: ? |
|
148 |
|
149 All cases should try merging both ways. |
|
150 "=" means same file content. |
|
151 |
|
152 Prepare test repo: |
|
153 |
|
154 $ hg init merges |
|
155 $ cd merges |
|
156 $ touch f1 |
|
157 $ hg ci -Aqm "0-root" |
|
158 |
|
159 ancestor is "normal": |
|
160 $ echo normal > f |
|
161 $ hg ci -Aqm "1-normal-ancestor" |
|
162 $ touch f2 |
|
163 $ hg ci -Aqm "2-normal-unchanged" |
|
164 $ hg tag -l "normal=" |
|
165 $ echo normal2 > f |
|
166 $ hg ci -m "3-normal2" |
|
167 $ hg tag -l "normal2" |
|
168 $ hg up -qr 1 |
|
169 $ hg rm f |
|
170 $ echo large > f |
|
171 $ hg add --large f |
|
172 $ hg ci -qm "4-normal-to-large" |
|
173 $ hg tag -l "large" |
|
174 |
|
175 $ hg up -qr null |
|
176 |
|
177 ancestor is "large": |
|
178 $ echo large > f |
|
179 $ hg add --large f |
|
180 $ hg ci -qm "5-large-ancestor" |
|
181 $ touch f2 |
|
182 $ hg ci -Aqm "6-large-unchanged" |
|
183 $ hg tag -l "large=" |
|
184 $ echo large2 > f |
|
185 $ hg ci -m "7-large2" |
|
186 $ hg tag -l "large2" |
|
187 $ hg up -qr 5 |
|
188 $ hg rm f |
|
189 $ echo normal > f |
|
190 $ hg ci -qAm "8-large-to-normal" |
|
191 $ hg tag -l "normal" |
|
192 |
|
193 Ancestor: normal Parent: normal= Parent: large result: large |
|
194 |
|
195 $ hg up -Cqr normal= |
|
196 $ hg merge -r large |
|
197 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
198 (branch merge, don't forget to commit) |
|
199 getting changed largefiles |
|
200 1 largefiles updated, 0 removed |
|
201 $ cat f |
|
202 large |
|
203 |
|
204 swap |
|
205 |
|
206 $ hg up -Cqr large |
|
207 $ hg merge -r normal= |
|
208 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
209 (branch merge, don't forget to commit) |
|
210 getting changed largefiles |
|
211 0 largefiles updated, 0 removed |
|
212 $ cat f |
|
213 large |
|
214 |
|
215 Ancestor: normal Parent: normal2 Parent: large result: ? |
|
216 (annoying extra prompt ... but it do not do any serious harm) |
|
217 |
|
218 $ hg up -Cqr normal2 |
|
219 $ hg merge -r large |
|
220 local changed f which remote deleted |
|
221 use (c)hanged version or (d)elete? c |
|
222 f has been turned into a largefile |
|
223 use (l)argefile or keep as (n)ormal file? l |
|
224 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
225 (branch merge, don't forget to commit) |
|
226 getting changed largefiles |
|
227 1 largefiles updated, 0 removed |
|
228 $ cat f |
|
229 large |
|
230 |
|
231 $ hg up -Cqr normal2 |
|
232 $ ( echo c; echo n ) | hg merge -r large --config ui.interactive=Yes |
|
233 local changed f which remote deleted |
|
234 use (c)hanged version or (d)elete? f has been turned into a largefile |
|
235 use (l)argefile or keep as (n)ormal file? 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
236 (branch merge, don't forget to commit) |
|
237 getting changed largefiles |
|
238 0 largefiles updated, 0 removed |
|
239 $ cat f |
|
240 normal2 |
|
241 |
|
242 $ hg up -Cqr normal2 |
|
243 $ echo d | hg merge -r large --config ui.interactive=Yes |
|
244 local changed f which remote deleted |
|
245 use (c)hanged version or (d)elete? 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
246 (branch merge, don't forget to commit) |
|
247 getting changed largefiles |
|
248 1 largefiles updated, 0 removed |
|
249 $ cat f |
|
250 large |
|
251 |
|
252 swap |
|
253 |
|
254 $ hg up -Cqr large |
|
255 $ hg merge -r normal2 |
|
256 remote changed f which local deleted |
|
257 use (c)hanged version or leave (d)eleted? c |
|
258 f has been turned into a normal file |
|
259 keep as (l)argefile or use (n)ormal file? l |
|
260 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
261 (branch merge, don't forget to commit) |
|
262 getting changed largefiles |
|
263 1 largefiles updated, 0 removed |
|
264 $ cat f |
|
265 large |
|
266 |
|
267 $ hg up -Cqr large |
|
268 $ ( echo c; echo n ) | hg merge -r normal2 --config ui.interactive=Yes |
|
269 remote changed f which local deleted |
|
270 use (c)hanged version or leave (d)eleted? f has been turned into a normal file |
|
271 keep as (l)argefile or use (n)ormal file? 2 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
272 (branch merge, don't forget to commit) |
|
273 getting changed largefiles |
|
274 0 largefiles updated, 0 removed |
|
275 $ cat f |
|
276 normal2 |
|
277 |
|
278 $ hg up -Cqr large |
|
279 $ echo d | hg merge -r normal2 --config ui.interactive=Yes |
|
280 remote changed f which local deleted |
|
281 use (c)hanged version or leave (d)eleted? 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
282 (branch merge, don't forget to commit) |
|
283 getting changed largefiles |
|
284 0 largefiles updated, 0 removed |
|
285 $ cat f |
|
286 large |
|
287 |
|
288 Ancestor: large Parent: large= Parent: normal result: normal |
|
289 |
|
290 $ hg up -Cqr large= |
|
291 $ hg merge -r normal |
|
292 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
293 (branch merge, don't forget to commit) |
|
294 getting changed largefiles |
|
295 0 largefiles updated, 0 removed |
|
296 $ cat f |
|
297 normal |
|
298 |
|
299 swap |
|
300 |
|
301 $ hg up -Cqr normal |
|
302 $ hg merge -r large= |
|
303 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
304 (branch merge, don't forget to commit) |
|
305 $ cat f |
|
306 normal |
|
307 |
|
308 Ancestor: large Parent: large2 Parent: normal result: ? |
|
309 (annoying extra prompt ... but it do not do any serious harm) |
|
310 |
|
311 $ hg up -Cqr large2 |
|
312 $ hg merge -r normal |
|
313 local changed .hglf/f which remote deleted |
|
314 use (c)hanged version or (d)elete? c |
|
315 f has been turned into a normal file |
|
316 keep as (l)argefile or use (n)ormal file? l |
|
317 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
318 (branch merge, don't forget to commit) |
|
319 getting changed largefiles |
|
320 1 largefiles updated, 0 removed |
|
321 $ cat f |
|
322 large2 |
|
323 |
|
324 $ hg up -Cqr large2 |
|
325 $ echo d | hg merge -r normal --config ui.interactive=Yes |
|
326 local changed .hglf/f which remote deleted |
|
327 use (c)hanged version or (d)elete? 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
328 (branch merge, don't forget to commit) |
|
329 getting changed largefiles |
|
330 0 largefiles updated, 0 removed |
|
331 $ cat f |
|
332 normal |
|
333 |
|
334 swap |
|
335 |
|
336 $ hg up -Cqr normal |
|
337 $ hg merge -r large2 |
|
338 remote changed .hglf/f which local deleted |
|
339 use (c)hanged version or leave (d)eleted? c |
|
340 f has been turned into a largefile |
|
341 use (l)argefile or keep as (n)ormal file? l |
|
342 2 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
343 (branch merge, don't forget to commit) |
|
344 getting changed largefiles |
|
345 1 largefiles updated, 0 removed |
|
346 $ cat f |
|
347 large2 |
|
348 |
|
349 $ hg up -Cqr normal |
|
350 $ echo d | hg merge -r large2 --config ui.interactive=Yes |
|
351 remote changed .hglf/f which local deleted |
|
352 use (c)hanged version or leave (d)eleted? 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
353 (branch merge, don't forget to commit) |
|
354 $ cat f |
|
355 normal |
|
356 |
|
357 $ cd .. |