Mercurial > hg
changeset 29711:ac5f6b11aa91
bundlerevlog: use for loop over iterator instead of while True
The iter() builtin has a neat pattern where you give it a callable of
no arguments and a sentinel value, and you can then loop over the
function calls like a normal iterator. This cleans up the code a
little.
author | Augie Fackler <augie@google.com> |
---|---|
date | Fri, 05 Aug 2016 13:09:50 -0400 |
parents | 0839c8d34d78 |
children | 9e88077f972c |
files | mercurial/bundlerepo.py |
diffstat | 1 files changed, 2 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/bundlerepo.py Fri Aug 05 13:09:24 2016 -0400 +++ b/mercurial/bundlerepo.py Fri Aug 05 13:09:50 2016 -0400 @@ -56,10 +56,8 @@ self.repotiprev = n - 1 chain = None self.bundlerevs = set() # used by 'bundle()' revset expression - while True: - chunkdata = bundle.deltachunk(chain) - if not chunkdata: - break + getchunk = lambda: bundle.deltachunk(chain) + for chunkdata in iter(getchunk, {}): node = chunkdata['node'] p1 = chunkdata['p1'] p2 = chunkdata['p2']