##// 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:

r8081:6c3b8132 default
r8165:78658990 default
Show More
test-convert-cvs-synthetic
78 lines | 1.4 KiB | text/plain | TextLexer
/ tests / test-convert-cvs-synthetic
#!/bin/sh
# This feature requires use of builtin cvsps!
"$TESTDIR/hghave" cvs || exit 80
set -e
echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH
echo "[convert]" >> $HGRCPATH
echo "cvsps=builtin" >> $HGRCPATH
echo % create cvs repository with one project
mkdir cvsrepo
cd cvsrepo
export CVSROOT=`pwd`
export CVS_OPTIONS=-f
cd ..
filterpath()
{
eval "$@" | sed "s:$CVSROOT:*REPO*:g"
}
cvscall()
{
echo cvs -f "$@"
cvs -f "$@" 2>&1
}
# output of 'cvs ci' varies unpredictably, so just discard it
cvsci()
{
echo cvs -f ci "$@"
cvs -f ci "$@" >/dev/null 2>&1
}
filterpath cvscall -d "$CVSROOT" init
mkdir cvsrepo/proj
cvscall -q co proj
echo % create file1 on the trunk
cd proj
touch file1
cvscall -Q add file1
cvsci -m"add file1 on trunk" file1
echo % create two branches
cvscall -q tag -b v1_0
cvscall -q tag -b v1_1
echo % create file2 on branch v1_0
cvscall -q up -rv1_0
touch file2
cvscall -Q add file2
cvsci -m"add file2 on branch v1_0" file2
echo % create file3, file4 on branch v1_1
cvscall -Q up -rv1_1
touch file3
touch file4
cvscall -Q add file3 file4
cvsci -m"add file3, file4 on branch v1_1" file3 file4
echo % merge file2 from v1_0 to v1_1
cvscall -q up -jv1_0
cvsci -m"merge file2 from v1_0 to v1_1"
echo % cvs rlog output
filterpath cvscall -q rlog proj | egrep '^(RCS file|revision)'
echo % convert to hg
cd ..
filterpath hg convert proj proj.hg
echo % hg log output
hg -R proj.hg log --template "{rev} {desc}\n"