Show More
@@ -374,6 +374,7 b' def overridemanifestmerge(origfn, repo, ' | |||||
374 | if overwrite: |
|
374 | if overwrite: | |
375 | return actions |
|
375 | return actions | |
376 |
|
376 | |||
|
377 | removes = set(a[0] for a in actions if a[1] == 'r') | |||
377 | processed = [] |
|
378 | processed = [] | |
378 |
|
379 | |||
379 | for action in actions: |
|
380 | for action in actions: | |
@@ -381,7 +382,7 b' def overridemanifestmerge(origfn, repo, ' | |||||
381 |
|
382 | |||
382 | splitstandin = lfutil.splitstandin(f) |
|
383 | splitstandin = lfutil.splitstandin(f) | |
383 | if (m == "g" and splitstandin is not None and |
|
384 | if (m == "g" and splitstandin is not None and | |
384 | splitstandin in p1): |
|
385 | splitstandin in p1 and splitstandin not in removes): | |
385 | # Case 1: normal file in the working copy, largefile in |
|
386 | # Case 1: normal file in the working copy, largefile in | |
386 | # the second parent |
|
387 | # the second parent | |
387 | lfile = splitstandin |
|
388 | lfile = splitstandin | |
@@ -394,7 +395,8 b' def overridemanifestmerge(origfn, repo, ' | |||||
394 | processed.append((standin, "g", (p2.flags(standin),), msg)) |
|
395 | processed.append((standin, "g", (p2.flags(standin),), msg)) | |
395 | else: |
|
396 | else: | |
396 | processed.append((standin, "r", None, msg)) |
|
397 | processed.append((standin, "r", None, msg)) | |
397 |
elif m == "g" and |
|
398 | elif (m == "g" and | |
|
399 | lfutil.standin(f) in p1 and lfutil.standin(f) not in removes): | |||
398 | # Case 2: largefile in the working copy, normal file in |
|
400 | # Case 2: largefile in the working copy, normal file in | |
399 | # the second parent |
|
401 | # the second parent | |
400 | standin = lfutil.standin(f) |
|
402 | standin = lfutil.standin(f) |
@@ -109,4 +109,31 b' Largefile in the working copy, keeping t' | |||||
109 | $ cat foo |
|
109 | $ cat foo | |
110 | large |
|
110 | large | |
111 |
|
111 | |||
|
112 | Whatever ... commit something so we can invoke merge when updating | |||
|
113 | ||||
|
114 | $ hg commit -m '3: Merge' | |||
|
115 | ||||
|
116 | Updating from largefile to normal - no reason to prompt | |||
|
117 | ||||
|
118 | $ hg up -r 2 | |||
|
119 | getting changed largefiles | |||
|
120 | 0 largefiles updated, 0 removed | |||
|
121 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
122 | $ cat foo | |||
|
123 | normal | |||
|
124 | ||||
|
125 | (the update above used to leave the working dir in a very weird state - clean it | |||
|
126 | $ hg up -qr null | |||
|
127 | $ hg up -qr 2 | |||
|
128 | ) | |||
|
129 | ||||
|
130 | Updating from normal to largefile - no reason to prompt | |||
|
131 | ||||
|
132 | $ hg up -r 3 | |||
|
133 | getting changed largefiles | |||
|
134 | 1 largefiles updated, 0 removed | |||
|
135 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
136 | $ cat foo | |||
|
137 | large | |||
|
138 | ||||
112 | $ cd .. |
|
139 | $ cd .. |
General Comments 0
You need to be logged in to leave comments.
Login now