Mercurial > hg
view tests/test-586.t @ 21810:4b2ebd3187a1
dirstate.status: assign members one by one instead of unpacking the tuple
With this patch, hg status and hg diff regain their previous speed.
The following tests are run against a working copy with over 270,000 files.
Here, 'before' means without this or the previous patch applied.
Note that in this case `hg perfstatus` isn't representative since it doesn't
take dirstate parsing time into account.
$ time hg status # best of 5
before: 2.03s user 1.25s system 99% cpu 3.290 total
after: 2.01s user 1.25s system 99% cpu 3.261 total
$ time hg diff # best of 5
before: 1.32s user 0.78s system 99% cpu 2.105 total
after: 1.27s user 0.79s system 99% cpu 2.066 total
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Tue, 27 May 2014 21:02:16 -0700 |
parents | f2719b387380 |
children |
line wrap: on
line source
Issue586: removing remote files after merge appears to corrupt the dirstate $ hg init a $ cd a $ echo a > a $ hg ci -Ama adding a $ hg init ../b $ cd ../b $ echo b > b $ hg ci -Amb adding b $ hg pull -f ../a pulling from ../a searching for changes warning: repository is unrelated requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) (run 'hg heads' to see heads, 'hg merge' to merge) $ hg merge 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) $ hg rm -f a $ hg ci -Amc $ hg st -A C b $ cd .. Issue1433: Traceback after two unrelated pull, two move, a merge and a commit (related to issue586) create test repos $ hg init repoa $ touch repoa/a $ hg -R repoa ci -Am adda adding a $ hg init repob $ touch repob/b $ hg -R repob ci -Am addb adding b $ hg init repoc $ cd repoc $ hg pull ../repoa pulling from ../repoa requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy) $ hg update 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ mkdir tst $ hg mv * tst $ hg ci -m "import a in tst" $ hg pull -f ../repob pulling from ../repob searching for changes warning: repository is unrelated requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) (run 'hg heads' to see heads, 'hg merge' to merge) merge both repos $ hg merge 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) $ mkdir src move b content $ hg mv b src $ hg ci -m "import b in src" $ hg manifest src/b tst/a $ cd ..