Mercurial > public > mercurial-scm > hg
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 |