##// END OF EJS Templates
revlog: use radix tree also for matching keys shorter than 4 hex digits...
revlog: use radix tree also for matching keys shorter than 4 hex digits I don't know what the reason for the 4-digit limit was, and I can't think of any real disadvantages of using the radix tree also when the requested minimum length is short. This speeds up `hg log -T '{shortest(node,1)}\n'` from 2m16s to 4.5s by making that not fall back to pure code. Differential Revision: https://phab.mercurial-scm.org/D3453

File last commit:

r37433:c2c8962a default
r37875:92ed344a @27 default
Show More
test-sparse-requirement.t
68 lines | 1.2 KiB | text/troff | Tads3Lexer
/ tests / test-sparse-requirement.t
$ hg init repo
$ cd repo
$ touch a.html b.html c.py d.py
$ cat > frontend.sparse << EOF
> [include]
> *.html
> EOF
$ hg -q commit -A -m initial
$ echo 1 > a.html
$ echo 1 > c.py
$ hg commit -m 'commit 1'
Enable sparse profile
$ cat .hg/requires
dotencode
fncache
generaldelta
revlogv1
store
testonly-simplestore (reposimplestore !)
$ hg debugsparse --config extensions.sparse= --enable-profile frontend.sparse
$ ls
a.html
b.html
Requirement for sparse added when sparse is enabled
$ cat .hg/requires
dotencode
exp-sparse
fncache
generaldelta
revlogv1
store
testonly-simplestore (reposimplestore !)
Client without sparse enabled reacts properly
$ hg files
abort: repository is using sparse feature but sparse is not enabled; enable the "sparse" extensions to access!
[255]
Requirement for sparse is removed when sparse is disabled
$ hg debugsparse --reset --config extensions.sparse=
$ cat .hg/requires
dotencode
fncache
generaldelta
revlogv1
store
testonly-simplestore (reposimplestore !)
And client without sparse can access
$ hg files
a.html
b.html
c.py
d.py
frontend.sparse