##// END OF EJS Templates
add a fix for issue 1175...
add a fix for issue 1175 If we copy a file followed by an update, it's possible for the parent manifest to no longer contain the source file of the copy, which could cause commit to fail. If this happens, we search backwares from the first parent to find the most likely original revision.

File last commit:

r6439:c1b47c0f default
r6875:0d714a48 default
Show More
test-convert-svn-startrev
81 lines | 1.6 KiB | text/plain | TextLexer
/ tests / test-convert-svn-startrev
#!/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 a > trunk/a
echo b > trunk/b
svn add trunk/a trunk/b
svn ci -m createab
svn rm trunk/b
svn ci -m removeb
svn up
"$TESTDIR/svn-safe-append.py" a trunk/a
svn ci -m changeaa
echo % branch
svn up
svn copy trunk branches/branch1
"$TESTDIR/svn-safe-append.py" a branches/branch1/a
svn ci -m "branch, changeaaa"
"$TESTDIR/svn-safe-append.py" a branches/branch1/a
echo c > branches/branch1/c
svn add branches/branch1/c
svn ci -m "addc,changeaaaa"
svn up
cd ..
convert()
{
startrev=$1
repopath=A-r$startrev-hg
hg convert --config convert.svn.startrev=$startrev \
--config convert.svn.trunk=branches/branch1 \
--config convert.svn.branches=" " \
--config convert.svn.tags= \
--datesort $svnurl $repopath
hg -R $repopath glog --template '#rev# #desc|firstline# files: #files#\n'
echo
}
echo % convert before branching point
convert 3
echo % convert before branching point
convert 4
echo % convert at branching point
convert 5
echo % convert last revision only
convert 6