hgext/largefiles/lfcommands.py
changeset 15860 3ecce805ac13
parent 15811 b9886dde3649
child 15905 634d49a8b6db
--- a/hgext/largefiles/lfcommands.py	Wed Jan 11 15:38:31 2012 +0100
+++ b/hgext/largefiles/lfcommands.py	Wed Jan 11 16:53:51 2012 +0100
@@ -375,7 +375,15 @@
     toget = []
 
     for lfile in lfiles:
-        expectedhash = repo[node][lfutil.standin(lfile)].data().strip()
+        # If we are mid-merge, then we have to trust the standin that is in the
+        # working copy to have the correct hashvalue.  This is because the
+        # original hg.merge() already updated the standin as part of the normal
+        # merge process -- we just have to udpate the largefile to match.
+        if getattr(repo, "_ismerging", False):
+            expectedhash = lfutil.readstandin(repo, lfile)
+        else:
+            expectedhash = repo[node][lfutil.standin(lfile)].data().strip()
+
         # if it exists and its hash matches, it might have been locally
         # modified before updating and the user chose 'local'.  in this case,
         # it will not be in any store, so don't look for it.