view hgext/remotefilelog/constants.py @ 49511:117dcc4a0e67

revset: handle wdir() in `sort(..., -topo)` The last apparent usage of `repo.changelog.parentrevs` in revsets is in `children()`, but since the sets being operated on never include wdir(), it's never called with `wdirrev` and the wdir() arg on the command line is effectively ignored instead of aborting there. I'm not sure how to fix that. Before (on a clone of hg): $ python3.8 hg perf::revset --config extensions.perf=contrib/perf.py 'sort(all(), -topo)' ! wall 0.123663 comb 0.130000 user 0.130000 sys 0.000000 (best of 76) After: $ python3.8 hg perf::revset --config extensions.perf=contrib/perf.py 'sort(all(), -topo)' ! wall 0.123838 comb 0.130000 user 0.130000 sys 0.000000 (best of 75)
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 04 Oct 2022 12:34:50 -0400
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'