hgext/remotefilelog/constants.py
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 05 Mar 2019 15:52:14 +0100
changeset 41887 c98420914c10
parent 40560 fc2766860796
child 43076 2372284d9457
permissions -rw-r--r--
discovery: simply walk the undecided revs when building the children mapping The sampling only care about revisions in the undecided set, so building children relationship within this set is sufficient. The set of undecided changesets can be much smaller than the full span from its smallest item to the tip of the repository. This restriction can significantly speed up operations in some cases. For example, on our private pathological case, this speeds things up from about 53 seconds to about 7.5 seconds.

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'