Mercurial > hg-stable
changeset 16245:a18ad914aa21
largefiles: move calculation of largefiles for updating to utility function
author | Na'Tosha Bard <natosha@unity3d.com> |
---|---|
date | Fri, 09 Mar 2012 16:45:49 +0100 |
parents | 60cc3a0d2249 |
children | 169525f8ffbb |
files | hgext/largefiles/lfutil.py hgext/largefiles/overrides.py |
diffstat | 2 files changed, 10 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/lfutil.py Thu Mar 08 15:59:47 2012 -0600 +++ b/hgext/largefiles/lfutil.py Fri Mar 09 16:45:49 2012 +0100 @@ -457,3 +457,11 @@ lfile = splitstandin(standin) standins.append((lfile, readstandin(repo, lfile))) return standins + +def getlfilestoupdate(oldstandins, newstandins): + changedstandins = set(oldstandins).symmetric_difference(set(newstandins)) + filelist = [] + for f in changedstandins: + if f[0] not in filelist: + filelist.append(f[0]) + return filelist
--- a/hgext/largefiles/overrides.py Thu Mar 08 15:59:47 2012 -0600 +++ b/hgext/largefiles/overrides.py Fri Mar 09 16:45:49 2012 +0100 @@ -602,19 +602,11 @@ wlock.release() def hg_update(orig, repo, node): - # In order to not waste a lot of extra time during the update largefiles - # step, we keep track of the state of the standins before and after we - # call the original update function, and only update the standins that - # have changed in the hg.update() call + # Only call updatelfiles the standins that have changed to save time oldstandins = lfutil.getstandinsstate(repo) result = orig(repo, node) newstandins = lfutil.getstandinsstate(repo) - tobeupdated = set(oldstandins).symmetric_difference(set(newstandins)) - filelist = [] - for f in tobeupdated: - if f[0] not in filelist: - filelist.append(f[0]) - + filelist = lfutil.getlfilestoupdate(oldstandins, newstandins) lfcommands.updatelfiles(repo.ui, repo, filelist=filelist, printmessage=True) return result