Mercurial > hg
view tests/test-convert-hg-svn.t @ 49836:3d7bf111f01e stable
packaging: add dependencies to the PyOxidizer build on macOS
Otherwise, we get a bunch of test failures for missing things like pygments, or
tests skipped entirely. The input file is a copy/paste from the equivalent
Windows file, but with dulwich, pygit2, and pytest-vcr commented out because
the build process errors out with them, flagging them as incompatible with
loading from memory. I have no idea if that's actually true or not, because
I've noticed that if I don't `make clean` after every build, the next build
flags the watchman stuff as incompatible with loading from memory.
The remaining failures are:
Failed test-alias.t: output changed
Failed test-basic.t: output changed
Failed test-check-help.t: output changed
Failed test-commit-interactive.t: output changed
Failed test-extension.t: output changed
Failed test-help.t: output changed
Failed test-i18n.t: output changed
Failed test-log.t: output changed
Failed test-qrecord.t: output changed
Failed test-share-safe.t: output changed
Most of the issues seem related to loading help for disabled extensions from
`hgext.__index__`, namely the full extension help being unavailable, not being
able to resolve what commands are provided by what extension, and not having the
command level help available.
test-log.t, test-commit-interactive.t, and test-i18n.t look like i18n (or lack
thereof) issues.
test-basic.t is just odd:
@@ -55,7 +55,7 @@
On Python 3, stdio may be None:
$ hg debuguiprompt --config ui.interactive=true 0<&-
- abort: Bad file descriptor (no-rhg !)
+ abort: response expected
abort: response expected (rhg !)
[255]
$ hg version -q 0<&-
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 06 Dec 2022 17:12:59 -0500 |
parents | e095a9688a31 |
children | 7e5be4a7cda7 |
line wrap: on
line source
#require svn svn-bindings $ filter_svn_output () { > egrep -v 'Committing|Updating|(^$)' | sed -e 's/done$//' || true > } $ cat <<EOF >> $HGRCPATH > [extensions] > convert = > mq = > EOF $ SVNREPOPATH=`pwd`/svn-repo $ SVNREPOURL="`"$PYTHON" $TESTDIR/svnurlof.py \"$SVNREPOPATH\"`" $ svnadmin create "$SVNREPOPATH" $ cat > "$SVNREPOPATH"/hooks/pre-revprop-change <<EOF > #!/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 $ chmod +x "$SVNREPOPATH"/hooks/pre-revprop-change $ svn co "$SVNREPOURL" "$SVNREPOPATH"-wc Checked out revision 0. $ cd "$SVNREPOPATH"-wc $ echo a > a $ svn add a A a $ svn ci -m'added a' a | filter_svn_output Adding a Transmitting file data . Committed revision 1. $ cd .. initial roundtrip $ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg | grep -v initializing scanning source... sorting... converting... 0 added a $ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc scanning source... sorting... converting... second roundtrip should do nothing $ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg scanning source... sorting... converting... $ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc scanning source... sorting... converting... new hg rev $ hg clone "$SVNREPOPATH"-hg "$SVNREPOPATH"-work updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd "$SVNREPOPATH"-work $ 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 $ hg --cwd "$SVNREPOPATH"-hg pull -q "$SVNREPOPATH"-work $ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc scanning source... sorting... converting... 1 b 0 emtpy svn back to hg should do nothing $ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg scanning source... sorting... converting... hg back to svn should do nothing $ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc scanning source... sorting... converting... 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)