view tests/test-convert-clonebranches @ 9547:f57640bf10d4

cmdutil: changeset_printer: use methods of filectx/changectx. This allows extensions that modify changeset metadata (e.g. description) by overriding methods of changectx to get consistent behavior from all log-like commands, regardless of whether templates or styles are used. Without this, overriding changectx methods works if you use styles or templates, but not with default log format. This meant adding filectx.extra() for consistency with changectx.
author Greg Ward <greg-hg@gerg.ca>
date Mon, 05 Oct 2009 18:17:13 -0400
parents 1fe6f365df2e
children bb5ea66789e3
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "hgext.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
echo b > b
hg ci -qAm addb
hg up -qC
hg merge default
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

echo % convert
hg convert -v --config convert.hg.clonebranches=1 source dest |
    python filter.py

# Add a merge with both parents and child in different branches
cd source
hg branch branch1
echo a > file1
hg ci -qAm c1
hg up -qC mergeab
hg branch branch2
echo a > file2
hg ci -qAm c2
hg merge branch1
hg branch branch3
hg ci -qAm c3
cd ..

echo % incremental conversion
hg convert -v --config convert.hg.clonebranches=1 source dest |
    python filter.py