|
|
#!/bin/sh
|
|
|
|
|
|
"$TESTDIR/hghave" svn svn-bindings no-outer-repo || exit 80
|
|
|
|
|
|
fixpath()
|
|
|
{
|
|
|
tr '\\' /
|
|
|
}
|
|
|
|
|
|
svnupanddisplay()
|
|
|
{
|
|
|
(
|
|
|
cd $1;
|
|
|
svn up;
|
|
|
svn st -v | fixpath
|
|
|
limit=''
|
|
|
if [ $2 -gt 0 ]; then
|
|
|
limit="--limit=$2"
|
|
|
fi
|
|
|
svn log --xml -v $limit | fixpath | sed 's,<date>.*,<date/>,'
|
|
|
)
|
|
|
}
|
|
|
|
|
|
echo "[extensions]" >> $HGRCPATH
|
|
|
echo "convert = " >> $HGRCPATH
|
|
|
|
|
|
hg init a
|
|
|
|
|
|
echo a > a/a
|
|
|
mkdir -p a/d1/d2
|
|
|
echo b > a/d1/d2/b
|
|
|
echo % add
|
|
|
hg --cwd a ci -d '0 0' -A -m 'add a file'
|
|
|
|
|
|
"$TESTDIR/svn-safe-append.py" a a/a
|
|
|
echo % modify
|
|
|
hg --cwd a ci -d '1 0' -m 'modify a file'
|
|
|
hg --cwd a tip -q
|
|
|
|
|
|
hg convert -d svn a
|
|
|
svnupanddisplay a-hg-wc 2
|
|
|
ls a a-hg-wc
|
|
|
cmp a/a a-hg-wc/a && echo same || echo different
|
|
|
|
|
|
hg --cwd a mv a b
|
|
|
echo % rename
|
|
|
hg --cwd a ci -d '2 0' -m 'rename a file'
|
|
|
hg --cwd a tip -q
|
|
|
|
|
|
hg convert -d svn a
|
|
|
svnupanddisplay a-hg-wc 1
|
|
|
ls a a-hg-wc
|
|
|
|
|
|
hg --cwd a cp b c
|
|
|
echo % copy
|
|
|
hg --cwd a ci -d '3 0' -m 'copy a file'
|
|
|
hg --cwd a tip -q
|
|
|
|
|
|
hg convert -d svn a
|
|
|
svnupanddisplay a-hg-wc 1
|
|
|
ls a a-hg-wc
|
|
|
|
|
|
hg --cwd a rm b
|
|
|
echo % remove
|
|
|
hg --cwd a ci -d '4 0' -m 'remove a file'
|
|
|
hg --cwd a tip -q
|
|
|
|
|
|
hg convert -d svn a
|
|
|
svnupanddisplay a-hg-wc 1
|
|
|
ls a a-hg-wc
|
|
|
|
|
|
chmod +x a/c
|
|
|
echo % executable
|
|
|
hg --cwd a ci -d '5 0' -m 'make a file executable'
|
|
|
hg --cwd a tip -q
|
|
|
|
|
|
hg convert -d svn a
|
|
|
svnupanddisplay a-hg-wc 1
|
|
|
test -x a-hg-wc/c && echo executable || echo not executable
|
|
|
|
|
|
echo % executable in new directory
|
|
|
|
|
|
rm -rf a a-hg a-hg-wc
|
|
|
hg init a
|
|
|
|
|
|
mkdir a/d1
|
|
|
echo a > a/d1/a
|
|
|
chmod +x a/d1/a
|
|
|
hg --cwd a ci -d '0 0' -A -m 'add executable file in new directory'
|
|
|
|
|
|
hg convert -d svn a
|
|
|
svnupanddisplay a-hg-wc 1
|
|
|
test -x a-hg-wc/d1/a && echo executable || echo not executable
|
|
|
|
|
|
echo % copy to new directory
|
|
|
|
|
|
mkdir a/d2
|
|
|
hg --cwd a cp d1/a d2/a
|
|
|
hg --cwd a ci -d '1 0' -A -m 'copy file to new directory'
|
|
|
|
|
|
hg convert -d svn a
|
|
|
svnupanddisplay a-hg-wc 1
|
|
|
|
|
|
echo % branchy history
|
|
|
|
|
|
hg init b
|
|
|
echo base > b/b
|
|
|
hg --cwd b ci -d '0 0' -Ambase
|
|
|
|
|
|
"$TESTDIR/svn-safe-append.py" left-1 b/b
|
|
|
echo left-1 > b/left-1
|
|
|
hg --cwd b ci -d '1 0' -Amleft-1
|
|
|
|
|
|
"$TESTDIR/svn-safe-append.py" left-2 b/b
|
|
|
echo left-2 > b/left-2
|
|
|
hg --cwd b ci -d '2 0' -Amleft-2
|
|
|
|
|
|
hg --cwd b up 0
|
|
|
|
|
|
"$TESTDIR/svn-safe-append.py" right-1 b/b
|
|
|
echo right-1 > b/right-1
|
|
|
hg --cwd b ci -d '3 0' -Amright-1
|
|
|
|
|
|
"$TESTDIR/svn-safe-append.py" right-2 b/b
|
|
|
echo right-2 > b/right-2
|
|
|
hg --cwd b ci -d '4 0' -Amright-2
|
|
|
|
|
|
hg --cwd b up -C 2
|
|
|
hg --cwd b merge
|
|
|
hg --cwd b revert -r 2 b
|
|
|
hg resolve -m b
|
|
|
hg --cwd b ci -d '5 0' -m 'merge'
|
|
|
|
|
|
hg convert -d svn b
|
|
|
echo % expect 4 changes
|
|
|
svnupanddisplay b-hg-wc 0
|
|
|
|