Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/revlog.py @ 45054:cc2572923ea3
revlog: avoid hard-coded hash sizes
Differential Revision: https://phab.mercurial-scm.org/D8683
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Mon, 06 Jul 2020 14:30:13 +0200 |
parents | affe0fb42250 |
children | 2d6aea053153 |
comparison
equal
deleted
inserted
replaced
45053:91f4662b7fa7 | 45054:cc2572923ea3 |
---|---|
1521 | 1521 |
1522 hexnode = hex(node) | 1522 hexnode = hex(node) |
1523 | 1523 |
1524 def disambiguate(hexnode, minlength): | 1524 def disambiguate(hexnode, minlength): |
1525 """Disambiguate against wdirid.""" | 1525 """Disambiguate against wdirid.""" |
1526 for length in range(minlength, 41): | 1526 for length in range(minlength, len(hexnode) + 1): |
1527 prefix = hexnode[:length] | 1527 prefix = hexnode[:length] |
1528 if not maybewdir(prefix): | 1528 if not maybewdir(prefix): |
1529 return prefix | 1529 return prefix |
1530 | 1530 |
1531 if not getattr(self, 'filteredrevs', None): | 1531 if not getattr(self, 'filteredrevs', None): |
1538 except AttributeError: | 1538 except AttributeError: |
1539 # Fall through to pure code | 1539 # Fall through to pure code |
1540 pass | 1540 pass |
1541 | 1541 |
1542 if node == wdirid: | 1542 if node == wdirid: |
1543 for length in range(minlength, 41): | 1543 for length in range(minlength, len(hexnode) + 1): |
1544 prefix = hexnode[:length] | 1544 prefix = hexnode[:length] |
1545 if isvalid(prefix): | 1545 if isvalid(prefix): |
1546 return prefix | 1546 return prefix |
1547 | 1547 |
1548 for length in range(minlength, 41): | 1548 for length in range(minlength, len(hexnode) + 1): |
1549 prefix = hexnode[:length] | 1549 prefix = hexnode[:length] |
1550 if isvalid(prefix): | 1550 if isvalid(prefix): |
1551 return disambiguate(hexnode, length) | 1551 return disambiguate(hexnode, length) |
1552 | 1552 |
1553 def cmp(self, node, text): | 1553 def cmp(self, node, text): |