##// END OF EJS Templates
largefiles: don't prompt for normal/largefile changes when doing plain updates...
Mads Kiilerich -
r19954:427ce563 stable
parent child Browse files
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 lfutil.standin(f) in p1:
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