Mercurial > hg
changeset 23493:28f01c318c05
largefiles: don't use 'r' action for standin that doesn't exist
When merging and the remote has turned a normal file into a largefile
and the user chooses to keep the local largefile, we use the 'r'
action for the remote largefile standin. This is wrong, since that
file does not exist in the parent of the working copy. Use 'k', which
does nothing but debug logging, instead.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 05 Dec 2014 16:45:52 -0800 |
parents | da733837cdd0 |
children | 3849b89459b0 |
files | hgext/largefiles/overrides.py tests/test-issue3084.t |
diffstat | 2 files changed, 8 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/overrides.py Fri Dec 05 16:51:37 2014 -0800 +++ b/hgext/largefiles/overrides.py Fri Dec 05 16:45:52 2014 -0800 @@ -444,7 +444,12 @@ actions['r'].append((lfile, None, 'replaced by standin')) newglist.append((standin, (p2.flags(standin),), msg)) else: # keep local normal file - actions['r'].append((standin, None, 'replaced by non-standin')) + if branchmerge: + actions['k'].append((standin, None, + 'replaced by non-standin')) + else: + actions['r'].append((standin, None, + 'replaced by non-standin')) elif lfutil.standin(f) in p1 and lfutil.standin(f) not in removes: # Case 2: largefile in the working copy, normal file in # the second parent
--- a/tests/test-issue3084.t Fri Dec 05 16:51:37 2014 -0800 +++ b/tests/test-issue3084.t Fri Dec 05 16:45:52 2014 -0800 @@ -42,9 +42,7 @@ $ echo "n" | hg merge --config ui.interactive=Yes remote turned local normal file foo into a largefile use (l)argefile or keep (n)ormal file? n - getting changed largefiles - 0 largefiles updated, 0 removed - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) $ hg status @@ -302,9 +300,7 @@ use (c)hanged version or (d)elete? c remote turned local normal file f into a largefile use (l)argefile or keep (n)ormal file? n - getting changed largefiles - 0 largefiles updated, 0 removed - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) $ cat f normal2