Mercurial > hgsubversion
view tests/fixtures/addspecial.sh @ 990:def2144c0a8c
push: rebase one at a time before push
Previously when pushing n commits, push would rebase n,
commit 1, rebase n-1, commit 1, rebase n-2, etc. This
caused push to be very slow on large repositories. Pushing
10 commits on our repo took 75 seconds per commit, and that
grew at n^2 with the number of commits being pushed.
This changes push to rebase each commit individually. Now
pushing 10 commits on our repo takes 25 seconds per commit,
and is constant relative to the number of commits being
pushed.
author | Durham Goode <durham@fb.com> |
---|---|
date | Wed, 02 Jan 2013 17:51:07 -0800 |
parents | b6b1365e3489 |
children |
line wrap: on
line source
#!/bin/sh mkdir temp cd temp svnadmin create repo svn co file://`pwd`/repo wc cd wc mkdir -p trunk branches svn add trunk branches svn ci -m'initial structure' cd trunk echo a>a svn add a svn ci -mci1 a cd .. svn up svn cp trunk branches/foo svn ci -m'branch foo' cd branches/foo ln -s a fnord svn add fnord svn ci -msymlink fnord mkdir 'spacy name' echo a > 'spacy name/spacy file' svn add 'spacy name' svn ci -mspacy 'spacy name' svn up echo b > 'spacy name/surprise ~' svn add 'spacy name/surprise ~' svn ci -mtilde 'spacy name' svn up ../.. echo foo > exe chmod +x exe svn add exe svn ci -mexecutable exe svn up ../.. cd ../../trunk svn merge ../branches/foo svn ci -mmerge svn up pwd cd ../../.. svnadmin dump temp/repo > addspecial.svndump echo echo 'Complete.' echo 'You probably want to clean up temp now.' echo 'Dump in addspecial.svndump' exit 0