comparison mercurial/localrepo.py @ 6901:43a817f3a649

streamclone: fold in localrepo.storefiles
author Matt Mackall <mpm@selenic.com>
date Wed, 13 Aug 2008 20:18:44 -0500
parents def492d1b592
children 1a14608bdeff
comparison
equal deleted inserted replaced
6900:def492d1b592 6901:43a817f3a649
2052 2052
2053 if stream and not heads and remote.capable('stream'): 2053 if stream and not heads and remote.capable('stream'):
2054 return self.stream_in(remote) 2054 return self.stream_in(remote)
2055 return self.pull(remote, heads) 2055 return self.pull(remote, heads)
2056 2056
2057 def storefiles(self):
2058 '''get all *.i and *.d files in the store
2059
2060 Returns (list of (filename, size), total_bytes)'''
2061
2062 lock = None
2063 try:
2064 self.ui.debug('scanning\n')
2065 entries = []
2066 total_bytes = 0
2067 # get consistent snapshot of repo, lock during scan
2068 lock = self.lock()
2069 for name, ename, size in self.store.walk():
2070 entries.append((name, size))
2071 total_bytes += size
2072 return entries, total_bytes
2073 finally:
2074 del lock
2075
2076 # used to avoid circular references so destructors work 2057 # used to avoid circular references so destructors work
2077 def aftertrans(files): 2058 def aftertrans(files):
2078 renamefiles = [tuple(t) for t in files] 2059 renamefiles = [tuple(t) for t in files]
2079 def a(): 2060 def a():
2080 for src, dest in renamefiles: 2061 for src, dest in renamefiles: