Mercurial > hg
view hgext/remotefilelog/constants.py @ 51511:08913487ae80 stable
subrepo: fix normalizing paths with scheme
After revision 0afe96e374a7, subrepo paths were normalized using
posixpath.normpath and that resulted in ssh paths being wrongly converted
from ssh://host/path to ssh:/host/path
This fix applies the same logic used in urlutil.url to split the path scheme
from the rest and only use posixpath.normpath to the string after scheme://
author | Felipe Resende <felipe@fcresende.dev.br> |
---|---|
date | Sat, 16 Mar 2024 21:02:19 -0300 |
parents | 6000f5b25c9b |
children | f4733654f144 |
line wrap: on
line source
import struct from mercurial.i18n import _ NETWORK_CAP_LEGACY_SSH_GETFILES = b'exp-remotefilelog-ssh-getfiles-1' SHALLOWREPO_REQUIREMENT = b"exp-remotefilelog-repo-req-1" BUNDLE2_CAPABLITY = b"exp-remotefilelog-b2cap-1" FILENAMESTRUCT = b'!H' FILENAMESIZE = struct.calcsize(FILENAMESTRUCT) NODESIZE = 20 PACKREQUESTCOUNTSTRUCT = b'!I' NODECOUNTSTRUCT = b'!I' NODECOUNTSIZE = struct.calcsize(NODECOUNTSTRUCT) PATHCOUNTSTRUCT = b'!I' PATHCOUNTSIZE = struct.calcsize(PATHCOUNTSTRUCT) FILEPACK_CATEGORY = b"" TREEPACK_CATEGORY = b"manifests" ALL_CATEGORIES = [FILEPACK_CATEGORY, TREEPACK_CATEGORY] # revision metadata keys. must be a single character. METAKEYFLAG = b'f' # revlog flag METAKEYSIZE = b's' # full rawtext size def getunits(category): if category == FILEPACK_CATEGORY: return _(b"files") if category == TREEPACK_CATEGORY: return _(b"trees") # Repack options passed to ``markledger``. OPTION_PACKSONLY = b'packsonly'