test-convert-hg-svn.t
122 lines
| 3.3 KiB
| text/troff
|
Tads3Lexer
/ tests / test-convert-hg-svn.t
Matt Mackall
|
r22046 | #require svn svn-bindings | ||
Matt Mackall
|
r12527 | |||
timeless
|
r28469 | $ filter_svn_output () { | ||
FUJIWARA Katsunori
|
r28533 | > egrep -v 'Committing|Updating|(^$)' | sed -e 's/done$//' || true | ||
timeless
|
r28469 | > } | ||
Yuya Nishihara
|
r23172 | $ cat <<EOF >> $HGRCPATH | ||
> [extensions] | ||||
> convert = | ||||
> mq = | ||||
> EOF | ||||
Mads Kiilerich
|
r17033 | |||
$ SVNREPOPATH=`pwd`/svn-repo | ||||
#if windows | ||||
Matt Harbison
|
r39743 | $ SVNREPOURL=file:///`"$PYTHON" -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"` | ||
Mads Kiilerich
|
r17033 | #else | ||
Matt Harbison
|
r39743 | $ SVNREPOURL=file://`"$PYTHON" -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"` | ||
Mads Kiilerich
|
r17033 | #endif | ||
$ svnadmin create "$SVNREPOPATH" | ||||
$ cat > "$SVNREPOPATH"/hooks/pre-revprop-change <<EOF | ||||
Matt Mackall
|
r12527 | > #!/bin/sh | ||
> | ||||
> REPOS="$1" | ||||
> REV="$2" | ||||
> USER="$3" | ||||
> PROPNAME="$4" | ||||
> ACTION="$5" | ||||
> | ||||
> if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi | ||||
> if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-branch" ]; then exit 0; fi | ||||
> if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-rev" ]; then exit 0; fi | ||||
> | ||||
> echo "Changing prohibited revision property" >&2 | ||||
> exit 1 | ||||
> EOF | ||||
Mads Kiilerich
|
r17033 | $ chmod +x "$SVNREPOPATH"/hooks/pre-revprop-change | ||
$ svn co "$SVNREPOURL" "$SVNREPOPATH"-wc | ||||
Matt Mackall
|
r12527 | Checked out revision 0. | ||
Mads Kiilerich
|
r17033 | $ cd "$SVNREPOPATH"-wc | ||
Matt Mackall
|
r12527 | $ echo a > a | ||
$ svn add a | ||||
A a | ||||
timeless
|
r28469 | $ svn ci -m'added a' a | filter_svn_output | ||
Matt Mackall
|
r12527 | Adding a | ||
Transmitting file data . | ||||
Committed revision 1. | ||||
$ cd .. | ||||
initial roundtrip | ||||
Mads Kiilerich
|
r17033 | $ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg | grep -v initializing | ||
Matt Mackall
|
r12527 | scanning source... | ||
sorting... | ||||
converting... | ||||
0 added a | ||||
Mads Kiilerich
|
r17033 | $ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc | ||
Matt Mackall
|
r12527 | scanning source... | ||
sorting... | ||||
converting... | ||||
second roundtrip should do nothing | ||||
Mads Kiilerich
|
r17033 | $ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg | ||
Matt Mackall
|
r12527 | scanning source... | ||
sorting... | ||||
converting... | ||||
Mads Kiilerich
|
r17033 | $ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc | ||
Matt Mackall
|
r12527 | scanning source... | ||
sorting... | ||||
converting... | ||||
new hg rev | ||||
Mads Kiilerich
|
r17033 | $ hg clone "$SVNREPOPATH"-hg "$SVNREPOPATH"-work | ||
Matt Mackall
|
r12527 | updating to branch default | ||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Mads Kiilerich
|
r17033 | $ cd "$SVNREPOPATH"-work | ||
Matt Mackall
|
r12527 | $ echo b > b | ||
$ hg add b | ||||
$ hg ci -mb | ||||
adding an empty revision | ||||
$ hg qnew -m emtpy empty | ||||
$ hg qfinish -a | ||||
$ cd .. | ||||
echo hg to svn | ||||
Mads Kiilerich
|
r17033 | $ hg --cwd "$SVNREPOPATH"-hg pull -q "$SVNREPOPATH"-work | ||
$ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc | ||||
Matt Mackall
|
r12527 | scanning source... | ||
sorting... | ||||
converting... | ||||
1 b | ||||
0 emtpy | ||||
svn back to hg should do nothing | ||||
Mads Kiilerich
|
r17033 | $ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg | ||
Matt Mackall
|
r12527 | scanning source... | ||
sorting... | ||||
converting... | ||||
hg back to svn should do nothing | ||||
Mads Kiilerich
|
r17033 | $ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc | ||
Matt Mackall
|
r12527 | scanning source... | ||
sorting... | ||||
converting... | ||||
Mads Kiilerich
|
r20419 | |||
verify which shamap format we are storing and must be able to handle | ||||
$ cat svn-repo-hg/.hg/shamap | ||||
svn:????????-????-????-????-????????????@1 ???????????????????????????????????????? (glob) | ||||
svn:????????-????-????-????-????????????@2 ???????????????????????????????????????? (glob) | ||||
svn:????????-????-????-????-????????????@2 ???????????????????????????????????????? (glob) | ||||
$ cat svn-repo-wc/.svn/hg-shamap | ||||
???????????????????????????????????????? 1 (glob) | ||||
???????????????????????????????????????? svn:????????-????-????-????-????????????@2 (glob) | ||||
???????????????????????????????????????? svn:????????-????-????-????-????????????@2 (glob) | ||||