Show More
@@ -374,6 +374,7 def overridemanifestmerge(origfn, repo, | |||
|
374 | 374 | if overwrite: |
|
375 | 375 | return actions |
|
376 | 376 | |
|
377 | removes = set(a[0] for a in actions if a[1] == 'r') | |
|
377 | 378 | processed = [] |
|
378 | 379 | |
|
379 | 380 | for action in actions: |
@@ -381,7 +382,7 def overridemanifestmerge(origfn, repo, | |||
|
381 | 382 | |
|
382 | 383 | splitstandin = lfutil.splitstandin(f) |
|
383 | 384 | if (m == "g" and splitstandin is not None and |
|
384 | splitstandin in p1): | |
|
385 | splitstandin in p1 and splitstandin not in removes): | |
|
385 | 386 | # Case 1: normal file in the working copy, largefile in |
|
386 | 387 | # the second parent |
|
387 | 388 | lfile = splitstandin |
@@ -394,7 +395,8 def overridemanifestmerge(origfn, repo, | |||
|
394 | 395 | processed.append((standin, "g", (p2.flags(standin),), msg)) |
|
395 | 396 | else: |
|
396 | 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 | 400 | # Case 2: largefile in the working copy, normal file in |
|
399 | 401 | # the second parent |
|
400 | 402 | standin = lfutil.standin(f) |
@@ -109,4 +109,31 Largefile in the working copy, keeping t | |||
|
109 | 109 | $ cat foo |
|
110 | 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 | 139 | $ cd .. |
General Comments 0
You need to be logged in to leave comments.
Login now