hgext/remotefilelog/constants.py
author Matt Harbison <matt_harbison@yahoo.com>
Tue, 27 Nov 2018 22:10:07 -0500
changeset 41051 84d61fdcefa5
parent 40560 fc2766860796
child 43076 2372284d9457
permissions -rw-r--r--
lfs: convert to using exthelper to wrap functions I'm not 100% sure that upgraderequirements() can be double annotated safely, but it seems OK based on printing the address of the function being wrapped. One thing I've noticed is that @eh.reposetup doesn't do the usual check to ensure that it's a local repo. Should that be baked into @eh.reposetup() somehow, possibly with a non-default option to skip the check? It seems like a gaping hole if every function that gets registered needs to add this check.

from __future__ import absolute_import

import struct

from mercurial.i18n import _

NETWORK_CAP_LEGACY_SSH_GETFILES = 'exp-remotefilelog-ssh-getfiles-1'

SHALLOWREPO_REQUIREMENT = "exp-remotefilelog-repo-req-1"

BUNDLE2_CAPABLITY = "exp-remotefilelog-b2cap-1"

FILENAMESTRUCT = '!H'
FILENAMESIZE = struct.calcsize(FILENAMESTRUCT)

NODESIZE = 20
PACKREQUESTCOUNTSTRUCT = '!I'

NODECOUNTSTRUCT = '!I'
NODECOUNTSIZE = struct.calcsize(NODECOUNTSTRUCT)

PATHCOUNTSTRUCT = '!I'
PATHCOUNTSIZE = struct.calcsize(PATHCOUNTSTRUCT)

FILEPACK_CATEGORY=""
TREEPACK_CATEGORY="manifests"

ALL_CATEGORIES = [FILEPACK_CATEGORY, TREEPACK_CATEGORY]

# revision metadata keys. must be a single character.
METAKEYFLAG = 'f'  # revlog flag
METAKEYSIZE = 's'  # full rawtext size

def getunits(category):
    if category == FILEPACK_CATEGORY:
        return _("files")
    if category == TREEPACK_CATEGORY:
        return _("trees")

# Repack options passed to ``markledger``.
OPTION_PACKSONLY = 'packsonly'