##// END OF EJS Templates
rebase: choose default destination the same way as 'hg merge' (BC)...
rebase: choose default destination the same way as 'hg merge' (BC) This changeset finally make 'hg rebase' choose its default destination using the same logic as 'hg merge'. The previous default was "tipmost changeset on the current branch", the new default is "the other head if there is only one". This change has multiple consequences: - Multiple tests which were not rebasing anything (rebasing from tipmost head) are now rebasing on the other "lower" branch. This is the expected new behavior. - A test is now explicitly aborting when there is too many heads on the branch. This is the expected behavior. - We gained a better detection of the "nothing to rebase" case while performing 'hg pull --rebase' so the message have been updated. Making clearer than an update was performed and why. This is beneficial side-effect. - Rebasing from an active bookmark will behave the same as 'hg merge' from a bookmark.

File last commit:

r23172:e955549c default
r28189:fac3a24b 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)