##// END OF EJS Templates
convert/bzr: make it work with filemaps (issue1631)...
convert/bzr: make it work with filemaps (issue1631) The bzr converter maintains a child -> parents mapping and drop entries whenever a child is read. It does not work with filemaps, getchangedfiles() may be called more than once when filtered files belong to merge revisions. getchanges() still works that way but it is not clear whether a similar issue can arise when interacting with merges.

File last commit:

r6723:1fe6f365 default
r8165:78658990 default
Show More
test-convert-clonebranches
54 lines | 1.0 KiB | text/plain | TextLexer
/ tests / test-convert-clonebranches
#!/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