Mercurial > hg
view tests/test-remotefilelog-tags.t @ 44528:c8891bca40fb
rust-status: add bare `hg status` support in hg-core
A lot of performance remains to be gained, most notably by doing more things
in parallel, but also by caching, not falling back to Python but switching
to another regex engine, etc..
I have measured on multiple repositories that this change, when in combination
with the next two patches, improve bare `hg status` performance, and has no
observable impact when falling back (because it does so early).
On the Netbeans repository:
C: 840ms
Rust+C: 556ms
Mozilla Central with the one pattern that causes a fallback removed:
C: 2.315s
Rust+C: 1.700 s
Differential Revision: https://phab.mercurial-scm.org/D7929
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Fri, 17 Jan 2020 15:43:46 +0100 |
parents | 0800d9e6e216 |
children | 84a93fa7ecfd |
line wrap: on
line source
#require no-windows $ . "$TESTDIR/remotefilelog-library.sh" $ hg init master $ cd master $ cat >> .hg/hgrc <<EOF > [remotefilelog] > server=True > EOF $ echo x > foo $ echo y > bar $ hg commit -qAm one $ hg tag tag1 $ cd .. # clone with tags $ hg clone --shallow ssh://user@dummy/master shallow --noupdate --config remotefilelog.excludepattern=.hgtags streaming all changes 3 files to transfer, 662 bytes of data transferred 662 bytes in * seconds (*/sec) (glob) searching for changes no changes found $ cat >> shallow/.hg/hgrc <<EOF > [remotefilelog] > cachepath=$PWD/hgcache > debug=True > reponame = master > excludepattern=.hgtags > [extensions] > remotefilelog= > EOF $ cd shallow $ ls .hg/store/data ~2ehgtags.i $ hg tags tip 1:6ce44dcfda68 tag1 0:e0360bc0d9e1 $ hg update 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over *s (glob) # pull with tags $ cd ../master $ hg tag tag2 $ cd ../shallow $ hg pull pulling from ssh://user@dummy/master searching for changes adding changesets adding manifests adding file changes added 1 changesets with 0 changes to 0 files new changesets 6a22dfa4fd34 (run 'hg update' to get a working copy) $ hg tags tip 2:6a22dfa4fd34 tag2 1:6ce44dcfda68 tag1 0:e0360bc0d9e1 $ hg update 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ ls .hg/store/data ~2ehgtags.i $ hg log -l 1 --stat changeset: 2:6a22dfa4fd34 tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: Added tag tag2 for changeset 6ce44dcfda68 .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)