Mercurial > hg
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'