##// 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:

r11194:67985364 stable
r16716:0311a6ab default
Show More
svndump-branches.sh
73 lines | 1.5 KiB | application/x-sh | BashLexer
/ tests / svn / svndump-branches.sh
Patrick Mezard
Rewrite svn tests using svndump...
r7475 #!/bin/sh
#
# Use this script to generate branches.svndump
#
mkdir temp
cd temp
mkdir project-orig
cd project-orig
mkdir trunk
mkdir branches
cd ..
svnadmin create svn-repo
svnurl=file://`pwd`/svn-repo
svn import project-orig $svnurl -m "init projA"
svn co $svnurl project
cd project
echo a > trunk/a
echo b > trunk/b
echo c > trunk/c
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 mkdir trunk/dir
echo e > trunk/dir/e
Patrick Mezard
Rewrite svn tests using svndump...
r7475 # Add a file within branches, used to confuse branch detection
echo d > branches/notinbranch
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 svn add trunk/a trunk/b trunk/c trunk/dir branches/notinbranch
Patrick Mezard
Rewrite svn tests using svndump...
r7475 svn ci -m hello
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 svn up
Patrick Mezard
Rewrite svn tests using svndump...
r7475
# Branch to old
svn copy trunk branches/old
svn rm branches/old/c
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 svn rm branches/old/dir
svn ci -m "branch trunk, remove c and dir"
Patrick Mezard
Rewrite svn tests using svndump...
r7475 svn up
# Update trunk
echo a >> trunk/a
svn ci -m "change a"
# Update old branch
echo b >> branches/old/b
svn ci -m "change b"
# Create a cross-branch revision
svn move trunk/b branches/old/c
echo c >> branches/old/c
svn ci -m "move and update c"
# Update old branch again
echo b >> branches/old/b
svn ci -m "change b again"
# Move back and forth between branch of similar names
# This used to generate fake copy records
svn up
svn move branches/old branches/old2
svn ci -m "move to old2"
svn move branches/old2 branches/old
svn ci -m "move back to old"
# Update trunk again
echo a > trunk/a
svn ci -m "last change to a"
# Branch again from a converted revision
svn copy -r 1 $svnurl/trunk branches/old3
svn ci -m "branch trunk@1 into old3"
cd ..
svnadmin dump svn-repo > ../branches.svndump