##// END OF EJS Templates
extensions: make `hg nonexistent` not crash with PyOxidizer...
extensions: make `hg nonexistent` not crash with PyOxidizer When running `hg nonexistent`, we try to look for extensions that provide that command. We do that by looking for files in the `hgext.__file__` directory. However, PyOxidizer doesn't provide a `__file__`, so we crash when running with PyOxidizer. We should be able to look for the command in built-in extensions, but we seem to already have code for skipping the scan when running in a frozen binary, so I just modified that code instead. By the way, it also seems like we should be able to search for extensions in the `hgext3rd` module, but we don't do that yet either (before or after this patch). Differential Revision: https://phab.mercurial-scm.org/D8750

File last commit:

r43346:2372284d default
r45665:5d09a120 default
Show More
constants.py
57 lines | 1.9 KiB | text/x-python | PythonLexer
Boris Feld
revlog: split constants into a new `revlogutils.constants` module...
r39365 # revlogdeltas.py - constant used for revlog logic
#
# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
# Copyright 2018 Octobus <contact@octobus.net>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
"""Helper class to compute deltas stored inside revlogs"""
from __future__ import absolute_import
Augie Fackler
formatting: blacken the codebase...
r43346 from ..interfaces import repository
Boris Feld
revlog: split constants into a new `revlogutils.constants` module...
r39365
# revlog header flags
REVLOGV0 = 0
REVLOGV1 = 1
# Dummy value until file format is finalized.
# Reminder: change the bounds check in revlog.__init__ when this is changed.
REVLOGV2 = 0xDEAD
Gregory Szorc
revlog: always enable generaldelta on version 2 revlogs...
r41238 # Shared across v1 and v2.
Augie Fackler
formatting: blacken the codebase...
r43346 FLAG_INLINE_DATA = 1 << 16
Gregory Szorc
revlog: always enable generaldelta on version 2 revlogs...
r41238 # Only used by v1, implied by v2.
Augie Fackler
formatting: blacken the codebase...
r43346 FLAG_GENERALDELTA = 1 << 17
Boris Feld
revlog: split constants into a new `revlogutils.constants` module...
r39365 REVLOG_DEFAULT_FLAGS = FLAG_INLINE_DATA
REVLOG_DEFAULT_FORMAT = REVLOGV1
REVLOG_DEFAULT_VERSION = REVLOG_DEFAULT_FORMAT | REVLOG_DEFAULT_FLAGS
REVLOGV1_FLAGS = FLAG_INLINE_DATA | FLAG_GENERALDELTA
Gregory Szorc
revlog: always enable generaldelta on version 2 revlogs...
r41238 REVLOGV2_FLAGS = FLAG_INLINE_DATA
Boris Feld
revlog: split constants into a new `revlogutils.constants` module...
r39365
# revlog index flags
Gregory Szorc
repository: define and use revision flag constants...
r40083
# For historical reasons, revlog's internal flags were exposed via the
# wire protocol and are even exposed in parts of the storage APIs.
# revision has censor metadata, must be verified
REVIDX_ISCENSORED = repository.REVISION_FLAG_CENSORED
# revision hash does not match data (narrowhg)
REVIDX_ELLIPSIS = repository.REVISION_FLAG_ELLIPSIS
# revision data is stored externally
REVIDX_EXTSTORED = repository.REVISION_FLAG_EXTSTORED
sidedata: add a new revision flag constant for side data...
r43300 # revision data contains extra metadata not part of the official digest
REVIDX_SIDEDATA = repository.REVISION_FLAG_SIDEDATA
Boris Feld
revlog: split constants into a new `revlogutils.constants` module...
r39365 REVIDX_DEFAULT_FLAGS = 0
# stable order in which flags need to be processed and their processors applied
REVIDX_FLAGS_ORDER = [
REVIDX_ISCENSORED,
REVIDX_ELLIPSIS,
REVIDX_EXTSTORED,
sidedata: add a new revision flag constant for side data...
r43300 REVIDX_SIDEDATA,
Boris Feld
revlog: split constants into a new `revlogutils.constants` module...
r39365 ]
flagutil: move REVIDX_KNOWN_FLAGS source of truth in flagutil (API)...
r42956
Boris Feld
revlog: split constants into a new `revlogutils.constants` module...
r39365 # bitmark for flags that could cause rawdata content change
sidedata: add a new revision flag constant for side data...
r43300 REVIDX_RAWTEXT_CHANGING_FLAGS = (
Augie Fackler
formatting: blacken the codebase...
r43346 REVIDX_ISCENSORED | REVIDX_EXTSTORED | REVIDX_SIDEDATA
sidedata: add a new revision flag constant for side data...
r43300 )
Boris Feld
sparse-revlog: set max delta chain length to on thousand...
r39542
SPARSE_REVLOG_MAX_CHAIN_LENGTH = 1000