mercurial/store.py
changeset 35582 72b91f905065
parent 34215 b4abc438a8c9
child 37409 4c15bee42e9c
equal deleted inserted replaced
35581:154754d1f137 35582:72b91f905065
    13 import stat
    13 import stat
    14 
    14 
    15 from .i18n import _
    15 from .i18n import _
    16 from . import (
    16 from . import (
    17     error,
    17     error,
       
    18     node,
    18     policy,
    19     policy,
    19     pycompat,
    20     pycompat,
    20     util,
    21     util,
    21     vfs as vfsmod,
    22     vfs as vfsmod,
    22 )
    23 )
   219 _maxstorepathlen = 120
   220 _maxstorepathlen = 120
   220 _dirprefixlen = 8
   221 _dirprefixlen = 8
   221 _maxshortdirslen = 8 * (_dirprefixlen + 1) - 4
   222 _maxshortdirslen = 8 * (_dirprefixlen + 1) - 4
   222 
   223 
   223 def _hashencode(path, dotencode):
   224 def _hashencode(path, dotencode):
   224     digest = hashlib.sha1(path).hexdigest()
   225     digest = node.hex(hashlib.sha1(path).digest())
   225     le = lowerencode(path[5:]).split('/') # skips prefix 'data/' or 'meta/'
   226     le = lowerencode(path[5:]).split('/') # skips prefix 'data/' or 'meta/'
   226     parts = _auxencode(le, dotencode)
   227     parts = _auxencode(le, dotencode)
   227     basename = parts[-1]
   228     basename = parts[-1]
   228     _root, ext = os.path.splitext(basename)
   229     _root, ext = os.path.splitext(basename)
   229     sdirs = []
   230     sdirs = []