diff hgext/largefiles/lfutil.py @ 18299:a7a88a458a4c

largefiles: fix revert removing a largefile from a merge Before revert could fail with: abort: .hglf/large@33fdd332ec64: not found in manifest! The LookupError will now be caught and handled correctly.
author Mads Kiilerich <madski@unity3d.com>
date Fri, 11 Jan 2013 16:30:29 +0100
parents 93c697d9c158
children 745bc16ccef2
line wrap: on
line diff
--- a/hgext/largefiles/lfutil.py	Fri Jan 11 16:30:29 2013 +0100
+++ b/hgext/largefiles/lfutil.py	Fri Jan 11 16:30:29 2013 +0100
@@ -142,8 +142,11 @@
     s = lfdirstate.status(match, [], False, False, False)
     unsure, modified, added, removed, missing, unknown, ignored, clean = s
     for lfile in unsure:
-        if repo[rev][standin(lfile)].data().strip() != \
-                hashfile(repo.wjoin(lfile)):
+        try:
+            fctx = repo[rev][standin(lfile)]
+        except LookupError:
+            fctx = None
+        if not fctx or fctx.data().strip() != hashfile(repo.wjoin(lfile)):
             modified.append(lfile)
         else:
             clean.append(lfile)