Mercurial > hg
view tests/test-convert-svn-sink @ 7007:a6b74fbb5ce0
fetch: added support for named branches
Previously, fetch didn't really work when there were multiple named branches
in the repository. Now it tries to do the right thing(tm) in all situations.
author | Sune Foldager <cryo@cyanite.org> |
---|---|
date | Mon, 08 Sep 2008 12:55:46 +0200 |
parents | 7c36a4fb05a3 |
children | dbc40381620e |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" svn svn-bindings || exit 80 fixpath() { tr '\\' / } svnupanddisplay() { ( cd $1; svn up; svn st -v | fixpath limit='' if [ $2 -gt 0 ]; then limit="--limit=$2" fi svn log --xml -v $limit | fixpath | sed 's,<date>.*,<date/>,' ) } echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH hg init a echo a > a/a mkdir -p a/d1/d2 echo b > a/d1/d2/b echo % add hg --cwd a ci -d '0 0' -A -m 'add a file' "$TESTDIR/svn-safe-append.py" a a/a echo % modify hg --cwd a ci -d '1 0' -m 'modify a file' hg --cwd a tip -q hg convert -d svn a svnupanddisplay a-hg-wc 2 ls a a-hg-wc cmp a/a a-hg-wc/a && echo same || echo different hg --cwd a mv a b echo % rename hg --cwd a ci -d '2 0' -m 'rename a file' hg --cwd a tip -q hg convert -d svn a svnupanddisplay a-hg-wc 1 ls a a-hg-wc hg --cwd a cp b c echo % copy hg --cwd a ci -d '3 0' -m 'copy a file' hg --cwd a tip -q hg convert -d svn a svnupanddisplay a-hg-wc 1 ls a a-hg-wc hg --cwd a rm b echo % remove hg --cwd a ci -d '4 0' -m 'remove a file' hg --cwd a tip -q hg convert -d svn a svnupanddisplay a-hg-wc 1 ls a a-hg-wc chmod +x a/c echo % executable hg --cwd a ci -d '5 0' -m 'make a file executable' hg --cwd a tip -q hg convert -d svn a svnupanddisplay a-hg-wc 1 test -x a-hg-wc/c && echo executable || echo not executable echo % executable in new directory rm -rf a a-hg a-hg-wc hg init a mkdir a/d1 echo a > a/d1/a chmod +x a/d1/a hg --cwd a ci -d '0 0' -A -m 'add executable file in new directory' hg convert -d svn a svnupanddisplay a-hg-wc 1 test -x a-hg-wc/d1/a && echo executable || echo not executable echo % copy to new directory mkdir a/d2 hg --cwd a cp d1/a d2/a hg --cwd a ci -d '1 0' -A -m 'copy file to new directory' hg convert -d svn a svnupanddisplay a-hg-wc 1 echo % branchy history hg init b echo base > b/b hg --cwd b ci -d '0 0' -Ambase "$TESTDIR/svn-safe-append.py" left-1 b/b echo left-1 > b/left-1 hg --cwd b ci -d '1 0' -Amleft-1 "$TESTDIR/svn-safe-append.py" left-2 b/b echo left-2 > b/left-2 hg --cwd b ci -d '2 0' -Amleft-2 hg --cwd b up 0 "$TESTDIR/svn-safe-append.py" right-1 b/b echo right-1 > b/right-1 hg --cwd b ci -d '3 0' -Amright-1 "$TESTDIR/svn-safe-append.py" right-2 b/b echo right-2 > b/right-2 hg --cwd b ci -d '4 0' -Amright-2 hg --cwd b up -C 2 hg --cwd b merge hg --cwd b revert -r 2 b hg resolve -m b hg --cwd b ci -d '5 0' -m 'merge' hg convert -d svn b echo % expect 4 changes svnupanddisplay b-hg-wc 0