equal
deleted
inserted
replaced
375 |
375 |
376 result = cl._filteredrevs_hashcache.get(key) |
376 result = cl._filteredrevs_hashcache.get(key) |
377 if not result: |
377 if not result: |
378 revs = sorted(r for r in cl.filteredrevs | obsrevs if r <= maxrev) |
378 revs = sorted(r for r in cl.filteredrevs | obsrevs if r <= maxrev) |
379 if revs: |
379 if revs: |
380 s = hashutil.sha1() |
380 result = _hash_revs(revs) |
381 for rev in revs: |
|
382 s.update(b'%d;' % rev) |
|
383 result = s.digest() |
|
384 cl._filteredrevs_hashcache[key] = result |
381 cl._filteredrevs_hashcache[key] = result |
385 return result |
382 return result |
|
383 |
|
384 |
|
385 def _hash_revs(revs): |
|
386 """return a hash from a list of revision numbers""" |
|
387 s = hashutil.sha1() |
|
388 for rev in revs: |
|
389 s.update(b'%d;' % rev) |
|
390 return s.digest() |
386 |
391 |
387 |
392 |
388 def walkrepos(path, followsym=False, seen_dirs=None, recurse=False): |
393 def walkrepos(path, followsym=False, seen_dirs=None, recurse=False): |
389 """yield every hg repository under path, always recursively. |
394 """yield every hg repository under path, always recursively. |
390 The recurse flag will only control recursion into repo working dirs""" |
395 The recurse flag will only control recursion into repo working dirs""" |