--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-convert-clonebranches.t Sun Sep 26 14:39:34 2010 -0500
@@ -0,0 +1,84 @@
+
+ $ echo "[extensions]" >> $HGRCPATH
+ $ echo "convert = " >> $HGRCPATH
+ $ echo "[convert]" >> $HGRCPATH
+ $ echo "hg.tagsbranch=0" >> $HGRCPATH
+ $ hg init source
+ $ cd source
+ $ echo a > a
+ $ hg ci -qAm adda
+
+Add a merge with one parent in the same branch
+
+ $ echo a >> a
+ $ hg ci -qAm changea
+ $ hg up -qC 0
+ $ hg branch branch0
+ marked working directory as branch branch0
+ $ echo b > b
+ $ hg ci -qAm addb
+ $ hg up -qC
+ $ hg merge default
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ (branch merge, don't forget to commit)
+ $ hg ci -qm mergeab
+ $ hg tag -ql mergeab
+ $ cd ..
+
+Miss perl... sometimes
+
+ $ cat > filter.py <<EOF
+ > import sys, re
+ >
+ > r = re.compile(r'^(?:\d+|pulling from)')
+ > sys.stdout.writelines([l for l in sys.stdin if r.search(l)])
+ > EOF
+
+convert
+
+ $ hg convert -v --config convert.hg.clonebranches=1 source dest |
+ > python filter.py
+ 3 adda
+ 2 changea
+ 1 addb
+ pulling from default into branch0
+ 1 changesets found
+ 0 mergeab
+ pulling from default into branch0
+ 1 changesets found
+
+Add a merge with both parents and child in different branches
+
+ $ cd source
+ $ hg branch branch1
+ marked working directory as branch branch1
+ $ echo a > file1
+ $ hg ci -qAm c1
+ $ hg up -qC mergeab
+ $ hg branch branch2
+ marked working directory as branch branch2
+ $ echo a > file2
+ $ hg ci -qAm c2
+ $ hg merge branch1
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ (branch merge, don't forget to commit)
+ $ hg branch branch3
+ marked working directory as branch branch3
+ $ hg ci -qAm c3
+ $ cd ..
+
+incremental conversion
+
+ $ hg convert -v --config convert.hg.clonebranches=1 source dest |
+ > python filter.py
+ 2 c1
+ pulling from branch0 into branch1
+ 4 changesets found
+ 1 c2
+ pulling from branch0 into branch2
+ 4 changesets found
+ 0 c3
+ pulling from branch2 into branch3
+ 5 changesets found
+ pulling from branch1 into branch3
+ 1 changesets found