test-convert-svn-sink
148 lines
| 2.8 KiB
| text/plain
|
TextLexer
/ tests / test-convert-svn-sink
|
r5513 | #!/bin/sh | ||
|
r7429 | "$TESTDIR/hghave" svn svn-bindings no-outer-repo || exit 80 | ||
|
r5513 | |||
|
r5808 | fixpath() | ||
{ | ||||
tr '\\' / | ||||
} | ||||
svnupanddisplay() | ||||
{ | ||||
( | ||||
|
r6210 | cd $1; | ||
|
r5808 | svn up; | ||
|
r8049 | svn st -v | fixpath | sed 's/ */ /g' | ||
|
r5808 | limit='' | ||
if [ $2 -gt 0 ]; then | ||||
limit="--limit=$2" | ||||
fi | ||||
|
r8049 | svn log --xml -v $limit | fixpath | sed 's,<date>.*,<date/>,' | grep -v 'kind="' | ||
|
r6210 | ) | ||
|
r5808 | } | ||
|
r5513 | echo "[extensions]" >> $HGRCPATH | ||
echo "convert = " >> $HGRCPATH | ||||
hg init a | ||||
echo a > a/a | ||||
|
r5538 | mkdir -p a/d1/d2 | ||
echo b > a/d1/d2/b | ||||
|
r5513 | echo % add | ||
hg --cwd a ci -d '0 0' -A -m 'add a file' | ||||
|
r6439 | "$TESTDIR/svn-safe-append.py" a a/a | ||
|
r5513 | echo % modify | ||
hg --cwd a ci -d '1 0' -m 'modify a file' | ||||
hg --cwd a tip -q | ||||
hg convert -d svn a | ||||
|
r5808 | svnupanddisplay a-hg-wc 2 | ||
|
r5513 | 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 | ||||
|
r5808 | svnupanddisplay a-hg-wc 1 | ||
|
r5513 | 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 | ||||
|
r5808 | svnupanddisplay a-hg-wc 1 | ||
|
r5513 | 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 | ||||
|
r5808 | svnupanddisplay a-hg-wc 1 | ||
|
r5513 | 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 | ||||
|
r5808 | svnupanddisplay a-hg-wc 1 | ||
|
r5513 | test -x a-hg-wc/c && echo executable || echo not executable | ||
|
r5698 | 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 | ||||
|
r5808 | svnupanddisplay a-hg-wc 1 | ||
|
r5698 | 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 | ||||
|
r5808 | svnupanddisplay a-hg-wc 1 | ||
|
r5698 | |||
|
r5513 | echo % branchy history | ||
hg init b | ||||
echo base > b/b | ||||
hg --cwd b ci -d '0 0' -Ambase | ||||
|
r6439 | "$TESTDIR/svn-safe-append.py" left-1 b/b | ||
|
r5513 | echo left-1 > b/left-1 | ||
hg --cwd b ci -d '1 0' -Amleft-1 | ||||
|
r6439 | "$TESTDIR/svn-safe-append.py" left-2 b/b | ||
|
r5513 | echo left-2 > b/left-2 | ||
hg --cwd b ci -d '2 0' -Amleft-2 | ||||
hg --cwd b up 0 | ||||
|
r6439 | "$TESTDIR/svn-safe-append.py" right-1 b/b | ||
|
r5513 | echo right-1 > b/right-1 | ||
hg --cwd b ci -d '3 0' -Amright-1 | ||||
|
r6439 | "$TESTDIR/svn-safe-append.py" right-2 b/b | ||
|
r5513 | 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 | ||||
|
r6888 | hg resolve -m b | ||
|
r5513 | hg --cwd b ci -d '5 0' -m 'merge' | ||
hg convert -d svn b | ||||
echo % expect 4 changes | ||||
|
r5808 | svnupanddisplay b-hg-wc 0 | ||
|
r11835 | |||
echo % tags are not supported, but must not break conversion | ||||
rm -rf a a-hg a-hg-wc | ||||
hg init a | ||||
echo a > a/a | ||||
hg --cwd a ci -d '0 0' -A -m 'Add file a' | ||||
hg --cwd a tag -d '1 0' -m 'Tagged as v1.0' v1.0 | ||||
hg convert -d svn a | ||||
svnupanddisplay a-hg-wc 2 | ||||
rm -rf a a-hg a-hg-wc | ||||