comparison mercurial/streamclone.py @ 9508:e2fd9b62349b

Merge with -stable
author Matt Mackall <mpm@selenic.com>
date Wed, 30 Sep 2009 21:42:51 -0500
parents 4c041f1ee1b4 49b62395e910
children 25e572394f5c
comparison
equal deleted inserted replaced
9494:bdd8a41ea6f6 9508:e2fd9b62349b
46 # get consistent snapshot of repo, lock during scan 46 # get consistent snapshot of repo, lock during scan
47 lock = repo.lock() 47 lock = repo.lock()
48 try: 48 try:
49 repo.ui.debug('scanning\n') 49 repo.ui.debug('scanning\n')
50 for name, ename, size in repo.store.walk(): 50 for name, ename, size in repo.store.walk():
51 # for backwards compat, name was partially encoded 51 entries.append((name, size))
52 entries.append((store.encodedir(name), size))
53 total_bytes += size 52 total_bytes += size
54 finally: 53 finally:
55 lock.release() 54 lock.release()
56 except error.LockError: 55 except error.LockError:
57 raise StreamException(2) 56 raise StreamException(2)
60 repo.ui.debug('%d files, %d bytes to transfer\n' % 59 repo.ui.debug('%d files, %d bytes to transfer\n' %
61 (len(entries), total_bytes)) 60 (len(entries), total_bytes))
62 yield '%d %d\n' % (len(entries), total_bytes) 61 yield '%d %d\n' % (len(entries), total_bytes)
63 for name, size in entries: 62 for name, size in entries:
64 repo.ui.debug('sending %s (%d bytes)\n' % (name, size)) 63 repo.ui.debug('sending %s (%d bytes)\n' % (name, size))
65 yield '%s\0%d\n' % (name, size) 64 # partially encode name over the wire for backwards compat
65 yield '%s\0%d\n' % (store.encodedir(name), size)
66 for chunk in util.filechunkiter(repo.sopener(name), limit=size): 66 for chunk in util.filechunkiter(repo.sopener(name), limit=size):
67 yield chunk 67 yield chunk