Mercurial > hg
view tests/test-merge5.t @ 18604:a1141f04e368
manifest: use a size 3 LRU cache to store parsed manifests
Previously, the manifest cache would store the last manifest parsed. We could
run into situations with operations like update where we would try parsing the
manifest for a revision r1, then r2, then r1 again. This increases the cache
size to 3 to avoid that bit of performance fragility.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Sat, 09 Feb 2013 15:43:02 +0000 |
parents | 6da47b655d97 |
children | 76df01e56e7f |
line wrap: on
line source
$ hg init $ echo This is file a1 > a $ echo This is file b1 > b $ hg add a b $ hg commit -m "commit #0" $ echo This is file b22 > b $ hg commit -m "comment #1" $ hg update 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ rm b $ hg commit -A -m "comment #2" removing b created new head $ hg update 1 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg update abort: crosses branches (merge branches or update --check to force update) [255] $ rm b $ hg update -c abort: uncommitted local changes [255] $ hg revert b $ hg update -c 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ mv a c In theory, we shouldn't need the "-y" below, but it prevents this test from hanging when "hg update" erroneously prompts the user for "keep or delete". Should abort: $ hg update -y 1 abort: crosses branches (merge branches or use --clean to discard changes) [255] $ mv c a Should succeed: $ hg update -y 1 1 files updated, 0 files merged, 0 files removed, 0 files unresolved