##// END OF EJS Templates
merge: don't report progress for dr/rd actions...
merge: don't report progress for dr/rd actions It is easier to reason about certain algorithms in terms of a file->action mapping than the current action->list-of-files. Bid merge is already written this way (but with a list of actions per file), and largefiles' overridecalculateupdates() will also benefit. However, that requires us to have at most one action per file. That requirement is currently violated by 'dr' (divergent rename) and 'rd' (rename and delete) actions, which can exist for the same file as some other action. These actions are only used for displaying warnings to the user; they don't change anything in the working copy or the dirstate. In this way, they are similar to the 'k' (keep) action. However, they are even less action-like than 'k' is: 'k' at least describes what to do with the file ("do nothing"), while 'dr' and 'rd' or only annotations for files for which there may exist other, "real" actions. As a first step towards separating these acitons out, stop including them in the progress output, just like we already exclude the 'k' action.

File last commit:

r23172:e955549c default
r23524:a1a7c94d default
Show More
test-convert-hg-svn.t
118 lines | 3.1 KiB | text/troff | Tads3Lexer
/ tests / test-convert-hg-svn.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require svn svn-bindings
Matt Mackall
tests: unify test-convert-hg-svn
r12527
Yuya Nishihara
tests: write hgrc of more than two lines by using shell heredoc...
r23172 $ cat <<EOF >> $HGRCPATH
> [extensions]
> convert =
> mq =
> EOF
Mads Kiilerich
tests: cleanup of svn url handling...
r17033
$ SVNREPOPATH=`pwd`/svn-repo
#if windows
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ SVNREPOURL=file:///`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 #else
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ SVNREPOURL=file://`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 #endif
$ svnadmin create "$SVNREPOPATH"
$ cat > "$SVNREPOPATH"/hooks/pre-revprop-change <<EOF
Matt Mackall
tests: unify test-convert-hg-svn
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
tests: cleanup of svn url handling...
r17033 $ chmod +x "$SVNREPOPATH"/hooks/pre-revprop-change
$ svn co "$SVNREPOURL" "$SVNREPOPATH"-wc
Matt Mackall
tests: unify test-convert-hg-svn
r12527 Checked out revision 0.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ cd "$SVNREPOPATH"-wc
Matt Mackall
tests: unify test-convert-hg-svn
r12527 $ echo a > a
$ svn add a
A a
$ svn ci -m'added a' a
Adding a
Transmitting file data .
Committed revision 1.
$ cd ..
initial roundtrip
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg | grep -v initializing
Matt Mackall
tests: unify test-convert-hg-svn
r12527 scanning source...
sorting...
converting...
0 added a
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc
Matt Mackall
tests: unify test-convert-hg-svn
r12527 scanning source...
sorting...
converting...
second roundtrip should do nothing
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg
Matt Mackall
tests: unify test-convert-hg-svn
r12527 scanning source...
sorting...
converting...
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc
Matt Mackall
tests: unify test-convert-hg-svn
r12527 scanning source...
sorting...
converting...
new hg rev
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg clone "$SVNREPOPATH"-hg "$SVNREPOPATH"-work
Matt Mackall
tests: unify test-convert-hg-svn
r12527 updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ cd "$SVNREPOPATH"-work
Matt Mackall
tests: unify test-convert-hg-svn
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
tests: cleanup of svn url handling...
r17033 $ hg --cwd "$SVNREPOPATH"-hg pull -q "$SVNREPOPATH"-work
$ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc
Matt Mackall
tests: unify test-convert-hg-svn
r12527 scanning source...
sorting...
converting...
1 b
0 emtpy
svn back to hg should do nothing
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg
Matt Mackall
tests: unify test-convert-hg-svn
r12527 scanning source...
sorting...
converting...
hg back to svn should do nothing
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc
Matt Mackall
tests: unify test-convert-hg-svn
r12527 scanning source...
sorting...
converting...
Mads Kiilerich
convert: make subversion revsplit more stable when meeting revisions without @...
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)