equal
deleted
inserted
replaced
12 import os |
12 import os |
13 import stat |
13 import stat |
14 |
14 |
15 from .i18n import _ |
15 from .i18n import _ |
16 from .pycompat import getattr |
16 from .pycompat import getattr |
|
17 from .node import hex |
17 from . import ( |
18 from . import ( |
18 changelog, |
19 changelog, |
19 error, |
20 error, |
20 manifest, |
21 manifest, |
21 node, |
|
22 policy, |
22 policy, |
23 pycompat, |
23 pycompat, |
24 util, |
24 util, |
25 vfs as vfsmod, |
25 vfs as vfsmod, |
26 ) |
26 ) |
271 _dirprefixlen = 8 |
271 _dirprefixlen = 8 |
272 _maxshortdirslen = 8 * (_dirprefixlen + 1) - 4 |
272 _maxshortdirslen = 8 * (_dirprefixlen + 1) - 4 |
273 |
273 |
274 |
274 |
275 def _hashencode(path, dotencode): |
275 def _hashencode(path, dotencode): |
276 digest = node.hex(hashutil.sha1(path).digest()) |
276 digest = hex(hashutil.sha1(path).digest()) |
277 le = lowerencode(path[5:]).split(b'/') # skips prefix 'data/' or 'meta/' |
277 le = lowerencode(path[5:]).split(b'/') # skips prefix 'data/' or 'meta/' |
278 parts = _auxencode(le, dotencode) |
278 parts = _auxencode(le, dotencode) |
279 basename = parts[-1] |
279 basename = parts[-1] |
280 _root, ext = os.path.splitext(basename) |
280 _root, ext = os.path.splitext(basename) |
281 sdirs = [] |
281 sdirs = [] |