##// END OF EJS Templates
revlog: fix revset in reachableroots docstring...
revlog: fix revset in reachableroots docstring `reachableroots` will only return a subset of `roots` when `includepath` is False. For example, given the following linear DAG: 2 | 1 | 0 Using roots=0+2, heads=1, the definition in the docstring does not match what `reachableroots` actually does: ipdb> repo.changelog.reachableroots(0, roots=[0,2],heads=[1]) [0] ipdb> repo.revs('heads(::(0+2) & (0+2)::1)') <baseset+ [1]> The fix is to do `heads & ::roots` (or `heads & heads::roots`) first, then select their ancestors: ipdb> repo.revs('heads(::((0+2) & (0+2)::1))') <baseset+ [0]> The docstring was introduced by fd92bfbbe02d9 (2015-06-19 "revset: rename revsbetween to reachableroots and add an argument"), which introduced the `includepath=False` behavior for graphlog grandparents use-case. I believe the docstring instead of the code should be changed because changing the code to match the docstring can result in suboptimal graphlog like: o :\ : o : : :/ o As opposite to the current "linearized" graphlog: o | o : o Differential Revision: https://phab.mercurial-scm.org/D7518

File last commit:

r43347:687b865b default
r44218:2e30d7df default
Show More
constants.py
43 lines | 1006 B | text/x-python | PythonLexer
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 from __future__ import absolute_import
import struct
from mercurial.i18n import _
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 NETWORK_CAP_LEGACY_SSH_GETFILES = b'exp-remotefilelog-ssh-getfiles-1'
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 SHALLOWREPO_REQUIREMENT = b"exp-remotefilelog-repo-req-1"
Augie Fackler
remotefilelog: rename capability for legacy ssh file fetching method...
r40543
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 BUNDLE2_CAPABLITY = b"exp-remotefilelog-b2cap-1"
Augie Fackler
remotefilelog: consolidate and rename bundle2 capability...
r40544
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 FILENAMESTRUCT = b'!H'
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 FILENAMESIZE = struct.calcsize(FILENAMESTRUCT)
NODESIZE = 20
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 PACKREQUESTCOUNTSTRUCT = b'!I'
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 NODECOUNTSTRUCT = b'!I'
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 NODECOUNTSIZE = struct.calcsize(NODECOUNTSTRUCT)
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 PATHCOUNTSTRUCT = b'!I'
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 PATHCOUNTSIZE = struct.calcsize(PATHCOUNTSTRUCT)
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 FILEPACK_CATEGORY = b""
TREEPACK_CATEGORY = b"manifests"
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530
ALL_CATEGORIES = [FILEPACK_CATEGORY, TREEPACK_CATEGORY]
# revision metadata keys. must be a single character.
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 METAKEYFLAG = b'f' # revlog flag
METAKEYSIZE = b's' # full rawtext size
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530
Augie Fackler
formatting: blacken the codebase...
r43346
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 def getunits(category):
if category == FILEPACK_CATEGORY:
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 return _(b"files")
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 if category == TREEPACK_CATEGORY:
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 return _(b"trees")
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530
Augie Fackler
formatting: blacken the codebase...
r43346
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 # Repack options passed to ``markledger``.
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 OPTION_PACKSONLY = b'packsonly'