changeset 19472:32e502b26983 stable

largefiles: overridematch() should replace the file path instead of extending (issue3934)
author Wei, Elson <elson.wei@gmail.com>
date Wed, 24 Jul 2013 13:20:44 +0800
parents fd1bb7c1be78
children 10a0ae668fe6
files hgext/largefiles/overrides.py tests/test-largefiles.t
diffstat 2 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/largefiles/overrides.py	Tue Jul 23 17:28:12 2013 -0500
+++ b/hgext/largefiles/overrides.py	Wed Jul 24 13:20:44 2013 +0800
@@ -250,8 +250,10 @@
         """
         match = oldmatch(ctx, pats, opts, globbed, default)
         m = copy.copy(match)
-        standins = [lfutil.standin(f) for f in m._files]
-        m._files.extend(standins)
+        for i in range(0, len(m._files)):
+            standin = lfutil.standin(m._files[i])
+            if standin in repo[ctx.node()]:
+                m._files[i] = standin
         m._fmap = set(m._files)
         m._always = False
         origmatchfn = m.matchfn
--- a/tests/test-largefiles.t	Tue Jul 23 17:28:12 2013 -0500
+++ b/tests/test-largefiles.t	Wed Jul 24 13:20:44 2013 +0800
@@ -738,6 +738,8 @@
   large6
   $ cat sub2/large7
   large7
+  $ hg log -qf sub2/large7
+  7:daea875e9014
   $ cd ..
   $ hg clone a -r 3 c
   adding changesets