##// END OF EJS Templates
localrepo: strip now incrementally updates the branchheads cache...
localrepo: strip now incrementally updates the branchheads cache Destroying history via strip used to invalidate the branchheads cache, causing it to be regenerated the next time it is read. This is expensive in large repos. This change converts strip to pass info to localrepo.destroyed() to enable to it to incrementally update the cache, improving the performance of strip and other operations that depend on it (e.g., rebase). This change also strengthens a bit the integrity checking of the branchheads cache when it is read, by rejecting the cache if it has nodes in it that no longer exist.

File last commit:

r12156:4c94b6d0 default
r16716:0311a6ab default
Show More
test-merge10.t
51 lines | 1.3 KiB | text/troff | Tads3Lexer
Pradeepkumar Gayam
tests: unify test-merge10
r11983 Test for changeset 9fe267f77f56ff127cf7e65dc15dd9de71ce8ceb
(merge correctly when all the files in a directory are moved
but then local changes are added in the same directory)
$ hg init a
$ cd a
$ mkdir -p testdir
$ echo a > testdir/a
$ hg add testdir/a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m a
Pradeepkumar Gayam
tests: unify test-merge10
r11983 $ cd ..
$ hg clone a b
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd a
$ echo alpha > testdir/a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m remote-change
Pradeepkumar Gayam
tests: unify test-merge10
r11983 $ cd ..
$ cd b
$ mkdir testdir/subdir
$ hg mv testdir/a testdir/subdir/a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m move
Pradeepkumar Gayam
tests: unify test-merge10
r11983 $ mkdir newdir
$ echo beta > newdir/beta
$ hg add newdir/beta
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m local-addition
Pradeepkumar Gayam
tests: unify test-merge10
r11983 $ hg pull ../a
pulling from ../a
searching for 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 up -C 2
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg merge
merging testdir/subdir/a and testdir/a to testdir/subdir/a
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg stat
M testdir/subdir/a
$ hg diff --nodates
Martin Geisler
tests: remove unneeded -d flags...
r12156 diff -r bc21c9773bfa testdir/subdir/a
Pradeepkumar Gayam
tests: unify test-merge10
r11983 --- a/testdir/subdir/a
+++ b/testdir/subdir/a
@@ -1,1 +1,1 @@
-a
+alpha