Mercurial > hg
view tests/test-histedit-no-backup.t @ 46095:93e09d370003
treemanifest: stop storing full path for each item in manifest._lazydirs
This information is obtainable, if needed, based on the lazydirs key (which is
the entry name) and the manifest's `dir()` method.
### Performance
This is actually both a memory and a performance improvement, but it's likely to
be a very small one in most situations. In the pathological repo I've been using
for testing other performance work I've done recently, this reduced the time for
a rebase operation (rebasing two commits across a public-phase change that
touches a sibling of one of my tracked directories where the common parent is
massive (>>10k entries)):
#### Before
```
Time (mean ± σ): 4.059 s ± 0.121 s [User: 0.9 ms, System: 0.6 ms]
Range (min … max): 3.941 s … 4.352 s 10 runs
```
#### After
```
Time (mean ± σ): 3.707 s ± 0.060 s [User: 0.8 ms, System: 0.8 ms]
Range (min … max): 3.648 s … 3.818 s 10 runs
```
Differential Revision: https://phab.mercurial-scm.org/D9553
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Thu, 03 Dec 2020 14:39:39 -0800 |
parents | 21733e8c924f |
children | 3f82a915ab2a |
line wrap: on
line source
#testcases abortcommand abortflag #if abortflag $ cat >> $HGRCPATH <<EOF > [alias] > abort = histedit --abort > EOF #endif $ . "$TESTDIR/histedit-helpers.sh" Enable extension used by this test $ cat >>$HGRCPATH <<EOF > [extensions] > histedit= > EOF ================================= Test backup-bundle config option| ================================= Repo setup: $ hg init foo $ cd foo $ echo first>file $ hg ci -qAm one $ echo second>>file $ hg ci -m two $ echo third>>file $ hg ci -m three $ echo forth>>file $ hg ci -m four $ hg log -G --style compact @ 3[tip] 7d5187087c79 1970-01-01 00:00 +0000 test | four | o 2 80d23dfa866d 1970-01-01 00:00 +0000 test | three | o 1 6153eb23e623 1970-01-01 00:00 +0000 test | two | o 0 36b4bdd91f5b 1970-01-01 00:00 +0000 test one Test when `backup-bundle` config option is enabled: $ hg histedit -r '36b4bdd91f5b' --commands - << EOF > pick 36b4bdd91f5b 0 one > pick 6153eb23e623 1 two > roll 80d23dfa866d 2 three > edit 7d5187087c79 3 four > EOF merging file Editing (7d5187087c79), you may commit or record as needed now. (hg histedit --continue to resume) [240] $ hg abort 1 files updated, 0 files merged, 0 files removed, 0 files unresolved saved backup bundle to $TESTTMP/foo/.hg/strip-backup/1d8f701c7b35-cf7be322-backup.hg saved backup bundle to $TESTTMP/foo/.hg/strip-backup/5c0056670bce-b54b65d0-backup.hg Test when `backup-bundle` config option is not enabled Enable config option: $ cat >>$HGRCPATH <<EOF > [rewrite] > backup-bundle = False > EOF $ hg histedit -r '36b4bdd91f5b' --commands - << EOF > pick 36b4bdd91f5b 0 one > pick 6153eb23e623 1 two > roll 80d23dfa866d 2 three > edit 7d5187087c79 3 four > EOF merging file Editing (7d5187087c79), you may commit or record as needed now. (hg histedit --continue to resume) [240] $ hg abort 1 files updated, 0 files merged, 0 files removed, 0 files unresolved