mercurial/store.py
changeset 17624 ae103510f6aa
parent 17623 448e6ed7c557
child 17649 f65c6a5f256c
equal deleted inserted replaced
17623:448e6ed7c557 17624:ae103510f6aa
   252     res = '/'.join(_auxencode(ef, dotencode))
   252     res = '/'.join(_auxencode(ef, dotencode))
   253     if len(res) > _maxstorepathlen:
   253     if len(res) > _maxstorepathlen:
   254         res = _hashencode(path, dotencode)
   254         res = _hashencode(path, dotencode)
   255     return res
   255     return res
   256 
   256 
       
   257 def _pathencode(path):
       
   258     ef = _encodefname(encodedir(path)).split('/')
       
   259     res = '/'.join(_auxencode(ef, True))
       
   260     if len(res) > _maxstorepathlen:
       
   261         return None
       
   262     return res
       
   263 
       
   264 _pathencode = getattr(parsers, 'pathencode', _pathencode)
       
   265 
       
   266 def _dothybridencode(f):
       
   267     ef = _pathencode(f)
       
   268     if ef is None:
       
   269         return _hashencode(encodedir(f), True)
       
   270     return ef
       
   271 
   257 def _plainhybridencode(f):
   272 def _plainhybridencode(f):
   258     return _hybridencode(f, False)
   273     return _hybridencode(f, False)
   259 
       
   260 _pathencode = getattr(parsers, 'pathencode', None)
       
   261 if _pathencode:
       
   262     def _dothybridencode(f):
       
   263         ef = _pathencode(f)
       
   264         if ef is None:
       
   265             return _hashencode(encodedir(f), True)
       
   266         return ef
       
   267 else:
       
   268     def _dothybridencode(f):
       
   269         return _hybridencode(f, True)
       
   270 
   274 
   271 def _calcmode(path):
   275 def _calcmode(path):
   272     try:
   276     try:
   273         # files in .hg/ will be created using this mode
   277         # files in .hg/ will be created using this mode
   274         mode = os.stat(path).st_mode
   278         mode = os.stat(path).st_mode