# HG changeset patch # User Dan Villiom Podlaski Christiansen # Date 2012-01-08 13:33:10 # Node ID 3e5b6045ccfc49d96595317dfbf1b259aa12f0de # Parent 8bed8551d5357c589144b4320a0fe335999463a3 largefiles: factor out a copyalltostore() function diff --git a/hgext/largefiles/lfutil.py b/hgext/largefiles/lfutil.py --- a/hgext/largefiles/lfutil.py +++ b/hgext/largefiles/lfutil.py @@ -222,6 +222,16 @@ def copytostore(repo, rev, file, uploade return copytostoreabsolute(repo, repo.wjoin(file), hash) +def copyalltostore(repo, node): + '''Copy all largefiles in a given revision to the store''' + + ctx = repo[node] + for filename in ctx.files(): + if isstandin(filename) and filename in ctx.manifest(): + realfile = splitstandin(filename) + copytostore(repo, ctx.node(), realfile) + + def copytostoreabsolute(repo, file, hash): util.makedirs(os.path.dirname(storepath(repo, hash))) if inusercache(repo.ui, hash): diff --git a/hgext/largefiles/reposetup.py b/hgext/largefiles/reposetup.py --- a/hgext/largefiles/reposetup.py +++ b/hgext/largefiles/reposetup.py @@ -256,12 +256,7 @@ def reposetup(ui, repo): # cache. def commitctx(self, *args, **kwargs): node = super(lfiles_repo, self).commitctx(*args, **kwargs) - ctx = self[node] - for filename in ctx.files(): - if lfutil.isstandin(filename) and filename in ctx.manifest(): - realfile = lfutil.splitstandin(filename) - lfutil.copytostore(self, ctx.node(), realfile) - + lfutil.copyalltostore(self, node) return node # Before commit, largefile standins have not had their