Mercurial > hg
view tests/test-convert-svn-branches @ 6109:242595e612ed
revert: unify forget and remove lists
This doesn't make a difference right now, but after the next revision
some files in state 'a' may end up in the deleted list, and revert
won't be able to just remove all files in that list.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Thu, 14 Feb 2008 18:08:16 -0200 |
parents | 866aa7ae2612 |
children | c1b47c0fd2b6 |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" svn svn-bindings || exit 80 fix_path() { tr '\\' / } echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH echo "hgext.graphlog =" >> $HGRCPATH svnadmin create svn-repo svnpath=`pwd | fix_path` # SVN wants all paths to start with a slash. Unfortunately, # Windows ones don't. Handle that. expr $svnpath : "\/" > /dev/null if [ $? -ne 0 ]; then svnpath='/'$svnpath fi echo % initial svn import mkdir projA cd projA mkdir trunk mkdir branches mkdir tags cd .. svnurl=file://$svnpath/svn-repo/projA svn import -m "init projA" projA $svnurl | fix_path echo % update svn repository svn co $svnurl A | fix_path cd A echo hello > trunk/letter.txt echo hey > trunk/letter2.txt echo ho > trunk/letter3.txt svn add trunk/letter.txt trunk/letter2.txt trunk/letter3.txt svn ci -m hello echo % branch to old letters svn copy trunk branches/old svn rm branches/old/letter3.txt svn ci -m "branch trunk, remove letter3" svn up echo % update trunk echo "what can I say ?" >> trunk/letter.txt svn ci -m "change letter" echo % update old branch echo "what's up ?" >> branches/old/letter2.txt svn ci -m "change letter2" echo % create a cross-branch revision svn move -m "move letter2" trunk/letter2.txt \ branches/old/letter3.txt echo "I am fine" >> branches/old/letter3.txt svn ci -m "move and update letter3.txt" echo % update old branch again echo "bye" >> branches/old/letter2.txt svn ci -m "change letter2 again" echo % update trunk again echo "how are you ?" >> trunk/letter.txt svn ci -m "last change to letter" cd .. echo % convert trunk and branches hg convert --datesort $svnurl A-hg echo % branch again from a converted revision cd A svn copy -r 1 $svnurl/trunk branches/old2 svn ci -m "branch trunk@1 into old2" cd .. echo % convert again hg convert --datesort $svnurl A-hg cd A-hg hg glog --template '#rev# #desc|firstline# files: #files#\n' hg branches | sed 's/:.*/:/' hg tags -q cd ..