largefiles: only update changed largefiles when transplanting
authorNa'Tosha Bard <natosha@unity3d.com>
Fri, 09 Mar 2012 15:26:13 +0100
changeset 16246 169525f8ffbb
parent 16245 a18ad914aa21
child 16247 d87d9d8a8e03
largefiles: only update changed largefiles when transplanting
hgext/largefiles/overrides.py
tests/test-largefiles.t
--- a/hgext/largefiles/overrides.py	Fri Mar 09 16:45:49 2012 +0100
+++ b/hgext/largefiles/overrides.py	Fri Mar 09 15:26:13 2012 +0100
@@ -956,10 +956,13 @@
 
 def override_transplant(orig, ui, repo, *revs, **opts):
     try:
+        oldstandins = lfutil.getstandinsstate(repo)
         repo._istransplanting = True
         result = orig(ui, repo, *revs, **opts)
-        lfcommands.updatelfiles(ui, repo, filelist=None,
-                                printmessage=False)
+        newstandins = lfutil.getstandinsstate(repo)
+        filelist = lfutil.getlfilestoupdate(oldstandins, newstandins)
+        lfcommands.updatelfiles(repo.ui, repo, filelist=filelist,
+                                printmessage=True)
     finally:
         repo._istransplanting = False
     return result
--- a/tests/test-largefiles.t	Fri Mar 09 16:45:49 2012 +0100
+++ b/tests/test-largefiles.t	Fri Mar 09 15:26:13 2012 +0100
@@ -728,6 +728,8 @@
   adding manifests
   adding file changes
   added 1 changesets with 2 changes to 2 files
+  getting changed largefiles
+  1 largefiles updated, 0 removed
   $ hg log --template '{rev}:{node|short}  {desc|firstline}\n'
   9:598410d3eb9a  modify normal file largefile in repo d
   8:a381d2c8c80e  modify normal file and largefile in repo b