hgext/largefiles/overrides.py
branchstable
changeset 16103 3e1efb458e8b
parent 15983 32b9aee3602c
child 16109 cb756482c1aa
child 16231 ce292f1379ba
--- a/hgext/largefiles/overrides.py	Tue Feb 07 18:47:16 2012 +0100
+++ b/hgext/largefiles/overrides.py	Fri Feb 10 14:46:09 2012 +0100
@@ -660,6 +660,7 @@
         repo.lfpullsource = source
         if not source:
             source = 'default'
+        oldheads = lfutil.getcurrentheads(repo)
         result = orig(ui, repo, source, **opts)
         # If we do not have the new largefiles for any new heads we pulled, we
         # will run into a problem later if we try to merge or rebase with one of
@@ -667,12 +668,11 @@
         # cache.
         ui.status(_("caching new largefiles\n"))
         numcached = 0
-        branches = repo.branchmap()
-        for branch in branches:
-            heads = repo.branchheads(branch)
-            for head in heads:
-                (cached, missing) = lfcommands.cachelfiles(ui, repo, head)
-                numcached += len(cached)
+        heads = lfutil.getcurrentheads(repo)
+        newheads = set(heads).difference(set(oldheads))
+        for head in newheads:
+            (cached, missing) = lfcommands.cachelfiles(ui, repo, head)
+            numcached += len(cached)
         ui.status(_("%d largefiles cached\n" % numcached))
     return result