Repeatable test t9010-svn-fe.sh failure w/ master (685e9d9, 1.7.4.rc1)
System:
Linux debian 2.6.32-5-amd64 #1 SMP Fri Dec 10 15:35:08 UTC 2010 x86_64 GNU/Linux All installed packages up-to-date as of 2011-01-06 15:55 UTC
Git:
Latest master (685e9d9) $ ./git --version git version 1.7.4.rc1
Svn:
libsvn-perl 1.6.12dfsg-3 libsvn1 1.6.12dfsg-3 subversion 1.6.12dfsg-3
Invocation:
(make NO_OPENSSL=1 'gitexecdir=$(bindir)' all test strip)
*** t9010-svn-fe.sh ***
ok 1 - empty dump
ok 2 - v3 dumps not supported
not ok - 3 t9135/svn.dump
#
# svnadmin create simple-svn && # svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && # svn_cmd export "file://$PWD/simple-svn" simple-svnco && # git init simple-git && # test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && # (
# cd simple-git &&
# git fast-import <../simple.fe
# ) &&
# (
# cd simple-svnco && # git init && # git add . && # git fetch ../simple-git master && # git diff --exit-code FETCH_HEAD # ) # # failed 1 among 3 test(s) 1..3
Quoted 4 lines · A Large Angry SCM
***
t9010-svn-fe.sh***
ok 1 - empty dump
ok 2 - v3 dumps not supported
not ok - 3 t9135/svn.dump
Thanks for reporting. Unfortunately I haven't been able to reproduce this on the machines I have access to (amd64 with svn 1.5.0 and i386 with svn 1.6.15).
Does running
sh t9010-svn-fe.sh -v
from the t/ directory give an error message? If not, how about
GIT_TRACE=1 sh -x t9010-svn-fe.sh -v
?
Quoted 13 lines · Jonathan Nieder
Quoted 4 lines · A Large Angry SCM
***
t9010-svn-fe.sh***
ok 1 - empty dump
ok 2 - v3 dumps not supported
not ok - 3 t9135/svn.dumpThanks for reporting. Unfortunately I haven't been able to reproduce this on the machines I have access to (amd64 with svn 1.5.0 and i386 with svn 1.6.15).
Does running
Quoted 8 lines
sh t9010-svn-fe.sh -vfrom the t/ directory give an error message? If not, how about
GIT_TRACE=1 sh -x t9010-svn-fe.sh -v?
See the attached typescript files from the above runs.
Script started on Thu 06 Jan 2011 12:11:03 PM EST
XXXXXXXX@debian:~/GIT/git/t$ sh t9010-svn-fe.sh -v
Initialized empty Git repository in /home/XXXXXXXX/GIT/git/t/trash directory.t9010-svn-fe/.git/
[33mexpecting success:
reinit_git &&
echo "SVN-fs-dump-format-version: 2" >input &&
test-svn-fe input >stream &&
git fast-import <stream
(B[m
Initialized empty Git repository in /home/XXXXXXXX/GIT/git/t/trash directory.t9010-svn-fe/.git/
git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects: 5000
Total objects: 0 ( 0 duplicates )
blobs : 0 ( 0 duplicates 0 deltas)
trees : 0 ( 0 duplicates 0 deltas)
commits: 0 ( 0 duplicates 0 deltas)
tags : 0 ( 0 duplicates 0 deltas)
Total branches: 0 ( 0 loads )
marks: 1024 ( 0 unique )
atoms: 0
Memory total: 2282 KiB
pools: 2048 KiB
objects: 234 KiB
---------------------------------------------------------------------
pack_report: getpagesize() = 4096
pack_report: core.packedGitWindowSize = 1073741824
pack_report: core.packedGitLimit = 8589934592
pack_report: pack_used_ctr = 0
pack_report: pack_mmap_calls = 0
pack_report: pack_open_windows = 0 / 0
pack_report: pack_mapped = 0 / 0
---------------------------------------------------------------------ok 1 - empty dump(B[m
[33mexpecting success:
reinit_git && echo "SVN-fs-dump-format-version: 3" >input && test_must_fail test-svn-fe input >stream && test_cmp empty stream
(B[m
Initialized empty Git repository in /home/XXXXXXXX/GIT/git/t/trash directory.t9010-svn-fe/.git/
fatal: expected svn dump format version <= 2, found 3
ok 2 - v3 dumps not supported(B[m
[33mexpecting success:
svnadmin create simple-svn && svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && svn_cmd export "file://$PWD/simple-svn" simple-svnco && git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && ( cd simple-git && git fast-import <../simple.fe ) && ( cd simple-svnco && git init && git add . && git fetch ../simple-git master && git diff --exit-code FETCH_HEAD )
(B[m
<<< Started new transaction, based on original revision 1
* adding path : branches ... done.
* adding path : trunk ... done.
svnadmin: Couldn't perform atomic initialization
svnadmin: Couldn't perform atomic initialization
svnadmin: SQLite compiled for 3.7.4, but running with 3.7.3 [1m[31mnot ok - 3 t9135/svn.dump(B[m
#
# svnadmin create simple-svn &&
# svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" &&
# svn_cmd export "file://$PWD/simple-svn" simple-svnco &&
# git init simple-git &&
# test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe &&
# (
# cd simple-git &&
# git fast-import <../simple.fe
# ) &&
# (
# cd simple-svnco &&
# git init &&
# git add . &&
# git fetch ../simple-git master &&
# git diff --exit-code FETCH_HEAD
# )
#
[1m[31m# failed 1 among 3 test(s)(B[m
[33m1..3(B[m
XXXXXXXX@debian:~/GIT/git/t$ exit
Script done on Thu 06 Jan 2011 12:11:16 PM EST
Script started on Thu 06 Jan 2011 12:11:40 PM EST
XXXXXXXX@debian:~/GIT/git/t$ GIT_TRACE=1 sh -x t9010-svn-fe.sh -v + test_description=check svn dumpfile importer + . ./test-lib.sh + ORIGINAL_TERM=xterm + LANG=C + LC_ALL=C + PAGER=cat + TZ=UTC + TERM=dumb + export LANG LC_ALL PAGER TERM TZ + EDITOR=: + unset VISUAL + unset GIT_EDITOR + unset AUTHOR_DATE + unset AUTHOR_EMAIL + unset AUTHOR_NAME + unset COMMIT_AUTHOR_EMAIL + unset COMMIT_AUTHOR_NAME + unset EMAIL + unset GIT_ALTERNATE_OBJECT_DIRECTORIES + unset GIT_AUTHOR_DATE + [email protected] + GIT_AUTHOR_NAME=A U Thor + unset GIT_COMMITTER_DATE + [email protected] + GIT_COMMITTER_NAME=C O Mitter + unset GIT_DIFF_OPTS + unset GIT_DIR + unset GIT_WORK_TREE + unset GIT_EXTERNAL_DIFF + unset GIT_INDEX_FILE + unset GIT_OBJECT_DIRECTORY + unset GIT_CEILING_DIRECTORIES + unset SHA1_FILE_DIRECTORIES + unset SHA1_FILE_DIRECTORY + unset GIT_NOTES_REF + unset GIT_NOTES_DISPLAY_REF + unset GIT_NOTES_REWRITE_REF + unset GIT_NOTES_REWRITE_MODE + GIT_MERGE_VERBOSITY=5 + export GIT_MERGE_VERBOSITY + export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME + export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME + export EDITOR + unset CDPATH + unset GREP_OPTIONS + echo 1 + tr [A-Z] [a-z] + echo * warning: Some tests will not work if GIT_TRACE is set as to trace on STDERR ! * * warning: Some tests will not work if GIT_TRACE is set as to trace on STDERR ! * + echo * warning: Please set GIT_TRACE to something other than 1, 2 or true ! * * warning: Please set GIT_TRACE to something other than 1, 2 or true ! * + _x05=[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f] + _x40=[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f] + [ xxterm != xdumb ] + TERM=xterm + export TERM + [ -t 1 ] + tput bold + tput setaf 1 + tput sgr0 + color=t + test 1 -ne 0 + verbose=t + shift + test 0 -ne 0 + test -n t + test check svn dumpfile importer != + test = t + exec + test t = t + exec + test_failure=0 + test_count=0 + test_fixed=0 + test_broken=0 + test_success=0 + test_external_has_tap=0 + GIT_EXIT_OK= + trap die EXIT + satisfied= + test -z + pwd + TEST_DIRECTORY=/home/XXXXXXXX/GIT/git/t + GIT_BUILD_DIR=/home/XXXXXXXX/GIT/git/t/.. + test -n + test -n + git_bin_dir=/home/XXXXXXXX/GIT/git/t/../bin-wrappers + test -x /home/XXXXXXXX/GIT/git/t/../bin-wrappers/git + PATH=/home/XXXXXXXX/GIT/git/t/../bin-wrappers:/home/XXXXXXXX/bin:/usr/local/bin:/usr/bin:/bin:/usr/games + GIT_EXEC_PATH=/home/XXXXXXXX/GIT/git/t/.. + test -n + GIT_TEMPLATE_DIR=/home/XXXXXXXX/GIT/git/t/../templates/blt + unset GIT_CONFIG + GIT_CONFIG_NOSYSTEM=1 + GIT_CONFIG_NOGLOBAL=1 + export PATH GIT_EXEC_PATH GIT_TEMPLATE_DIR GIT_CONFIG_NOSYSTEM GIT_CONFIG_NOGLOBAL + . /home/XXXXXXXX/GIT/git/t/../GIT-BUILD-OPTIONS + SHELL_PATH=/bin/sh + PERL_PATH=/usr/bin/perl + DIFF=diff + PYTHON_PATH=/usr/bin/python + TAR=tar + NO_CURL= + NO_PERL= + NO_PYTHON= + test -z + test -n + GIT_TEST_CMP=diff -u + GITPERLLIB=/home/XXXXXXXX/GIT/git/t/../perl/blib/lib:/home/XXXXXXXX/GIT/git/t/../perl/blib/arch/auto/Git + export GITPERLLIB + test -d /home/XXXXXXXX/GIT/git/t/../templates/blt + test -z + test -z + GITPYTHONLIB=/home/XXXXXXXX/GIT/git/t/../git_remote_helpers/build/lib + export GITPYTHONLIB + test -d /home/XXXXXXXX/GIT/git/t/../git_remote_helpers/build + test -x /home/XXXXXXXX/GIT/git/t/../test-chmtime + basename t9010-svn-fe.sh .sh + test=trash directory.t9010-svn-fe + test -n + TRASH_DIRECTORY=/home/XXXXXXXX/GIT/git/t/trash directory.t9010-svn-fe + test ! -z + remove_trash=/home/XXXXXXXX/GIT/git/t/trash directory.t9010-svn-fe + rm -fr trash directory.t9010-svn-fe + test_create_repo trash directory.t9010-svn-fe + test 1 = 1 + repo=trash directory.t9010-svn-fe + mkdir -p trash directory.t9010-svn-fe + cd trash directory.t9010-svn-fe + /home/XXXXXXXX/GIT/git/t/../git-init --template=/home/XXXXXXXX/GIT/git/t/../templates/blt/ trace: built-in: git 'init' '--template=/home/XXXXXXXX/GIT/git/t/../templates/blt/' Initialized empty Git repository in /home/XXXXXXXX/GIT/git/t/trash directory.t9010-svn-fe/.git/ + mv .git/hooks .git/hooks-disabled + cd -P trash directory.t9010-svn-fe + pwd + HOME=/home/XXXXXXXX/GIT/git/t/trash directory.t9010-svn-fe + export HOME + this_test=t9010-svn-fe.sh + this_test=t9010 + uname -s + test_set_prereq POSIXPERM + satisfied= POSIXPERM + test_set_prereq BSLASHPSPEC + satisfied= POSIXPERM BSLASHPSPEC + test_set_prereq EXECKEEPSPID + satisfied= POSIXPERM BSLASHPSPEC EXECKEEPSPID + test_set_prereq NOT_MINGW + satisfied= POSIXPERM BSLASHPSPEC EXECKEEPSPID NOT_MINGW + test -z + test_set_prereq PERL + satisfied= POSIXPERM BSLASHPSPEC EXECKEEPSPID NOT_MINGW PERL + test -z + test_set_prereq PYTHON + satisfied= POSIXPERM BSLASHPSPEC EXECKEEPSPID NOT_MINGW PERL PYTHON + ln -s x y + test -h y + test_set_prereq SYMLINKS + satisfied= POSIXPERM BSLASHPSPEC EXECKEEPSPID NOT_MINGW PERL PYTHON SYMLINKS + rm -f y + test -w / + test_set_prereq SANITY + satisfied= POSIXPERM BSLASHPSPEC EXECKEEPSPID NOT_MINGW PERL PYTHON SYMLINKS SANITY + svnadmin -h + svnconf=/home/XXXXXXXX/GIT/git/t/trash directory.t9010-svn-fe/svnconf + export svnconf + + test_expect_success empty dump reinit_git && echo "SVN-fs-dump-format-version: 2" >input && test-svn-fe input >stream && git fast-import <stream
+ test 2 = 3
+ test_prereq=
+ test 2 = 2
+ export test_prereq
+ test_skip empty dump
reinit_git && echo "SVN-fs-dump-format-version: 2" >input && test-svn-fe input >stream && git fast-import <stream
+ test_count=1
+ to_skip=
+ test -z
+ test -n
+ false
+ say expecting success:
reinit_git && echo "SVN-fs-dump-format-version: 2" >input && test-svn-fe input >stream && git fast-import <stream
+ say_color info expecting success:
reinit_git && echo "SVN-fs-dump-format-version: 2" >input && test-svn-fe input >stream && git fast-import <stream
+ TERM=xterm
+ export TERM
+ tput setaf 3
[33m+ shift
+ printf %s expecting success:
reinit_git && echo "SVN-fs-dump-format-version: 2" >input && test-svn-fe input >stream && git fast-import <stream
expecting success:
reinit_git && echo "SVN-fs-dump-format-version: 2" >input && test-svn-fe input >stream && git fast-import <stream
+ tput sgr0
(B[m+ echo
+ test_run_
reinit_git && echo "SVN-fs-dump-format-version: 2" >input && test-svn-fe input >stream && git fast-import <stream
+ test_cleanup=:
+ eval
reinit_git && echo "SVN-fs-dump-format-version: 2" >input && test-svn-fe input >stream && git fast-import <stream
+ reinit_git
+ rm -fr .git
+ git init
trace: built-in: git 'init'
Initialized empty Git repository in /home/XXXXXXXX/GIT/git/t/trash directory.t9010-svn-fe/.git/
+ echo SVN-fs-dump-format-version: 2
+ test-svn-fe input
+ git fast-import
trace: exec: 'git-fast-import'
trace: run_command: 'git-fast-import'
git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects: 5000
Total objects: 0 ( 0 duplicates )
blobs : 0 ( 0 duplicates 0 deltas)
trees : 0 ( 0 duplicates 0 deltas)
commits: 0 ( 0 duplicates 0 deltas)
tags : 0 ( 0 duplicates 0 deltas)
Total branches: 0 ( 0 loads )
marks: 1024 ( 0 unique ) atoms: 0
Memory total: 2282 KiB
pools: 2048 KiB
objects: 234 KiB
---------------------------------------------------------------------pack_report: getpagesize() = 4096pack_report: core.packedGitWindowSize = 1073741824pack_report: core.packedGitLimit = 8589934592pack_report: pack_used_ctr = 0pack_report: pack_mmap_calls = 0pack_report: pack_open_windows = 0 / 0pack_report: pack_mapped = 0 / 0
---------------------------------------------------------------------
+ eval_ret=0
+ eval :
+ :
+ test t = t
+ test -n
+ return 0
+ [ 0 = 0 -a 0 = 0 ]
+ test_ok_ empty dump
+ test_success=1
+ say_color ok 1 - empty dump
+ TERM=xterm
+ export TERM
+ test -n
+ shift
+ printf %s ok 1 - empty dump
ok 1 - empty dump+ tput sgr0
(B[m+ echo
+ echo
+ test_expect_success v3 dumps not supported
reinit_git && echo "SVN-fs-dump-format-version: 3" >input && test_must_fail test-svn-fe input >stream && test_cmp empty stream
+ test 2 = 3
+ test_prereq=
+ test 2 = 2
+ export test_prereq
+ test_skip v3 dumps not supported
reinit_git && echo "SVN-fs-dump-format-version: 3" >input && test_must_fail test-svn-fe input >stream && test_cmp empty stream
+ test_count=2
+ to_skip=
+ test -z
+ test -n
+ false
+ say expecting success:
reinit_git && echo "SVN-fs-dump-format-version: 3" >input && test_must_fail test-svn-fe input >stream && test_cmp empty stream
+ say_color info expecting success:
reinit_git && echo "SVN-fs-dump-format-version: 3" >input && test_must_fail test-svn-fe input >stream && test_cmp empty stream
+ TERM=xterm
+ export TERM
+ tput setaf 3
[33m+ shift
+ printf %s expecting success:
reinit_git && echo "SVN-fs-dump-format-version: 3" >input && test_must_fail test-svn-fe input >stream && test_cmp empty stream
expecting success:
reinit_git && echo "SVN-fs-dump-format-version: 3" >input && test_must_fail test-svn-fe input >stream && test_cmp empty stream
+ tput sgr0
(B[m+ echo
+ test_run_
reinit_git && echo "SVN-fs-dump-format-version: 3" >input && test_must_fail test-svn-fe input >stream && test_cmp empty stream
+ test_cleanup=:
+ eval
reinit_git && echo "SVN-fs-dump-format-version: 3" >input && test_must_fail test-svn-fe input >stream && test_cmp empty stream
+ reinit_git
+ rm -fr .git
+ git init
trace: built-in: git 'init'
Initialized empty Git repository in /home/XXXXXXXX/GIT/git/t/trash directory.t9010-svn-fe/.git/
+ echo SVN-fs-dump-format-version: 3
+ test_must_fail test-svn-fe input
+ test-svn-fe input
fatal: expected svn dump format version <= 2, found 3
+ exit_code=128
+ test 128 = 0
+ test 128 -gt 129 -a 128 -le 192
+ test 128 = 127
+ return 0
+ test_cmp empty stream
+ diff -u empty stream
+ eval_ret=0
+ eval :
+ :
+ test t = t
+ test -n
+ return 0
+ [ 0 = 0 -a 0 = 0 ]
+ test_ok_ v3 dumps not supported
+ test_success=2
+ say_color ok 2 - v3 dumps not supported
+ TERM=xterm
+ export TERM
+ test -n
+ shift
+ printf %s ok 2 - v3 dumps not supported
ok 2 - v3 dumps not supported+ tput sgr0
(B[m+ echo
+ echo
+ test_expect_success t9135/svn.dump
svnadmin create simple-svn && svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && svn_cmd export "file://$PWD/simple-svn" simple-svnco && git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && ( cd simple-git && git fast-import <../simple.fe ) && ( cd simple-svnco && git init && git add . && git fetch ../simple-git master && git diff --exit-code FETCH_HEAD )
+ test 2 = 3
+ test_prereq=
+ test 2 = 2
+ export test_prereq
+ test_skip t9135/svn.dump
svnadmin create simple-svn && svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && svn_cmd export "file://$PWD/simple-svn" simple-svnco && git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && ( cd simple-git && git fast-import <../simple.fe ) && ( cd simple-svnco && git init && git add . && git fetch ../simple-git master && git diff --exit-code FETCH_HEAD )
+ test_count=3
+ to_skip=
+ test -z
+ test -n
+ false
+ say expecting success:
svnadmin create simple-svn && svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && svn_cmd export "file://$PWD/simple-svn" simple-svnco && git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && ( cd simple-git && git fast-import <../simple.fe ) && ( cd simple-svnco && git init && git add . && git fetch ../simple-git master && git diff --exit-code FETCH_HEAD )
+ say_color info expecting success:
svnadmin create simple-svn && svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && svn_cmd export "file://$PWD/simple-svn" simple-svnco && git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && ( cd simple-git && git fast-import <../simple.fe ) && ( cd simple-svnco && git init && git add . && git fetch ../simple-git master && git diff --exit-code FETCH_HEAD )
+ TERM=xterm
+ export TERM
+ tput setaf 3
[33m+ shift
+ printf %s expecting success:
svnadmin create simple-svn && svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && svn_cmd export "file://$PWD/simple-svn" simple-svnco && git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && ( cd simple-git && git fast-import <../simple.fe ) && ( cd simple-svnco && git init && git add . && git fetch ../simple-git master && git diff --exit-code FETCH_HEAD )
expecting success:
svnadmin create simple-svn && svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && svn_cmd export "file://$PWD/simple-svn" simple-svnco && git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && ( cd simple-git && git fast-import <../simple.fe ) && ( cd simple-svnco && git init && git add . && git fetch ../simple-git master && git diff --exit-code FETCH_HEAD )
+ tput sgr0
(B[m+ echo
+ test_run_
svnadmin create simple-svn && svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && svn_cmd export "file://$PWD/simple-svn" simple-svnco && git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && ( cd simple-git && git fast-import <../simple.fe ) && ( cd simple-svnco && git init && git add . && git fetch ../simple-git master && git diff --exit-code FETCH_HEAD )
+ test_cleanup=:
+ eval
svnadmin create simple-svn && svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && svn_cmd export "file://$PWD/simple-svn" simple-svnco && git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && ( cd simple-git && git fast-import <../simple.fe ) && ( cd simple-svnco && git init && git add . && git fetch ../simple-git master && git diff --exit-code FETCH_HEAD )
+ svnadmin create simple-svn
+ svnadmin load simple-svn
<<< Started new transaction, based on original revision 1
* adding path : branches ... done.
* adding path : trunk ... done.
svnadmin: Couldn't perform atomic initialization
svnadmin: Couldn't perform atomic initialization
svnadmin: SQLite compiled for 3.7.4, but running with 3.7.3
+ eval_ret=1
+ eval :
+ :
+ test t = t
+ test -n
+ return 0
+ [ 0 = 0 -a 1 = 0 ]
+ test_failure_ t9135/svn.dump
svnadmin create simple-svn && svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && svn_cmd export "file://$PWD/simple-svn" simple-svnco && git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && ( cd simple-git && git fast-import <../simple.fe ) && ( cd simple-svnco && git init && git add . && git fetch ../simple-git master && git diff --exit-code FETCH_HEAD )
+ test_failure=1
+ say_color error not ok - 3 t9135/svn.dump
+ TERM=xterm
+ export TERM
+ tput bold
[1m+ tput setaf 1
[31m+ shift
+ printf %s not ok - 3 t9135/svn.dump
not ok - 3 t9135/svn.dump+ tput sgr0
(B[m+ echo
+ shift
+ echo
svnadmin create simple-svn && svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && svn_cmd export "file://$PWD/simple-svn" simple-svnco && git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && ( cd simple-git && git fast-import <../simple.fe ) && ( cd simple-svnco && git init && git add . && git fetch ../simple-git master && git diff --exit-code FETCH_HEAD )
+ sed -e s/^/# /
#
# svnadmin create simple-svn &&
# svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" &&
# svn_cmd export "file://$PWD/simple-svn" simple-svnco &&
# git init simple-git &&
# test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe &&
# (
# cd simple-git &&
# git fast-import <../simple.fe
# ) &&
# (
# cd simple-svnco &&
# git init &&
# git add . &&
# git fetch ../simple-git master &&
# git diff --exit-code FETCH_HEAD
# )
#
+ test =
+ echo
+ test_done
+ GIT_EXIT_OK=t
+ test -z
+ test_results_dir=/home/XXXXXXXX/GIT/git/t/test-results
+ mkdir -p /home/XXXXXXXX/GIT/git/t/test-results
+ test_results_path=/home/XXXXXXXX/GIT/git/t/test-results/t9010-svn-fe-14042.counts
+ echo total 3
+ echo success 2
+ echo fixed 0
+ echo broken 0
+ echo failed 1
+ echo
+ test 0 != 0
+ test 0 != 0
+ msg=3 test(s)
+ test 0 -eq 0
+ say_color error # failed 1 among 3 test(s)
+ TERM=xterm
+ export TERM
+ tput bold
[1m+ tput setaf 1
[31m+ shift
+ printf %s # failed 1 among 3 test(s)
# failed 1 among 3 test(s)+ tput sgr0 (B[m+ echo
+ say 1..3
+ say_color info 1..3
+ TERM=xterm
+ export TERM
+ tput setaf 3
[33m+ shift
+ printf %s 1..3
1..3+ tput sgr0
(B[m+ echo
+ exit 1
+ die
+ code=1
+ test -n t
+ exit 1
XXXXXXXX@debian:~/GIT/git/t$ exit
Script done on Thu 06 Jan 2011 12:12:07 PM EST
PATCH 1/1 t9010: svnadmin can fail even if available
If svn is built against one version of SQLite and run against another, svnadmin (needlessly) errors out during t9010:
<<< Started new transaction, based on original revision 1
* adding path : branches ... done.
* adding path : trunk ... done.
svnadmin: Couldn't perform atomic initialization
svnadmin: Couldn't perform atomic initialization
svnadmin: SQLite compiled for 3.7.4, but running with 3.7.3
Work around this by putting the svn invocations into a single test that builds a repo to compare the test-svn-fe result against. This test would always pass but only set the new SVNREPO test prereq if svn succeeds; and the test using that repo gets an SVNREPO prerequisite so it only runs with working svn installations.
This seems like the right thing to, anyway: the test script is meant to test the version of git just built, not the installed svn.
As a side effect, earlier tests will run now even if svn is not installed. Remove the svn_cmd () helper to decrease the temptation to run svn from those tests.
Works-around: http://bugs.debian.org/608925
---
Thanks. Does this patch work for you?
t/t9010-svn-fe.sh | 35 +++++++++++++++-------------------- 1 files changed, 15 insertions(+), 20 deletions(-)
t/t9010-svn-fe.sh +15 -20
@@ -4,22 +4,6 @@ test_description='check svn dumpfile importer' . ./test-lib.sh -if ! svnadmin -h >/dev/null 2>&1 -then - skip_all='skipping svn-fe tests, svn not available' - test_done -fi - -svnconf=$PWD/svnconf -export svnconf - -svn_cmd () { - subcommand=$1 && - shift && - mkdir -p "$svnconf" && - svn "$subcommand" --config-dir "$svnconf" "$@" -} - reinit_git () { rm -fr .git && git init
@@ -41,10 +25,21 @@ test_expect_success 'v3 dumps not supported' ' test_cmp empty stream ' -test_expect_success 't9135/svn.dump' ' - svnadmin create simple-svn && - svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && - svn_cmd export "file://$PWD/simple-svn" simple-svnco && +test_expect_success 'set up svn repo' ' + svnconf=$PWD/svnconf && + mkdir -p "$svnconf" && + + if + svnadmin -h >/dev/null 2>&1 && + svnadmin create simple-svn && + svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" && + svn export --config-dir "$svnconf" "file://$PWD/simple-svn" simple-svnco + then + test_set_prereq SVNREPO + fi +' + +test_expect_success SVNREPO 't9135/svn.dump' ' git init simple-git && test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe && (
Signature · 1 line
1.7.4.rc1
Re: [PATCH] t9010: svnadmin can fail even if available
Quoted 23 lines · Jonathan Nieder
If svn is built against one version of SQLite and run against another, svnadmin (needlessly) errors out during t9010:
<<< Started new transaction, based on original revision 1
* adding path : branches ... done.
* adding path : trunk ... done.
svnadmin: Couldn't perform atomic initialization
svnadmin: Couldn't perform atomic initialization
svnadmin: SQLite compiled for 3.7.4, but running with 3.7.3Work around this by putting the svn invocations into a single test that builds a repo to compare the test-svn-fe result against. This test would always pass but only set the new SVNREPO test prereq if svn succeeds; and the test using that repo gets an SVNREPO prerequisite so it only runs with working svn installations.
This seems like the right thing to, anyway: the test script is meant to test the version of git just built, not the installed svn.
As a side effect, earlier tests will run now even if svn is not installed. Remove the
svn_cmd() helper to decrease the temptation to run svn from those tests.
Quoted 5 lines
Works-around: http://bugs.debian.org/608925
Reported-by A Large Angry SCM<[email protected]>Signed-off-by Jonathan Nieder<[email protected]>---
Thanks. Does this patch work for you?
$ sh t9010-svn-fe.sh ok 1 - empty dump ok 2 - v3 dumps not supported ok 3 - set up svn repo ok 4 # skip t9135/svn.dump (missing SVNREPO) # passed all 4 test(s) 1..4
Rerunning the full test suite now ...
Re: [PATCH] t9010: svnadmin can fail even if available
In reply to Jonathan NiederQuoted 10 lines · Jonathan Nieder
If svn is built against one version of SQLite and run against another, svnadmin (needlessly) errors out during t9010:
<<< Started new transaction, based on original revision 1
* adding path : branches ... done.
* adding path : trunk ... done.
svnadmin: Couldn't perform atomic initialization
svnadmin: Couldn't perform atomic initialization
svnadmin: SQLite compiled for 3.7.4, but running with 3.7.3
Quoted 8 lines
Work around this by putting the svn invocations into a single test that builds a repo to compare the test-svn-fe result against. This test would always pass but only set the new SVNREPO test prereq if svn succeeds; and the test using that repo gets an SVNREPO prerequisite so it only runs with working svn installations.
This seems like the right thing to, anyway: the test script is meant to test the version of git just built, not the installed svn.
Yes, and I understand that this will prevent the mailing list from getting spammed by useless "bug reports" that should have been directed to distros that packaged broken subversion, which is a plus.
But I am somewhat unhappy because I do not think we want to cater to all the broken installations of system tools. When tests fail because somebody's "mkdir -p" (just a random example I picked from your patch) does not work correctly, we would just say "Your system is broken, and here is a nickle; get a better computer". Why is svnadmin so special?
Also isn't the breakage not just this test, but also in all the tests that try to run "svnadmin load"? Shouldn't we somehow hoist this logic out of t9010 and put it in t/lib-vcs-svn.sh or somewhere?
As far as I understand, svn interoperability bits (git-svn and vcs-svn) do not rely on svnadmin at runtime, so a breakage in the system's svnadmin would not be a reason to omit building and installing them. It however somehow feels wrong to install something we cannot even test. I do not have a good solution to this offhand, though.
Re: [PATCH] t9010: svnadmin can fail even if available
Quoted 6 lines · Junio C Hamano
But I am somewhat unhappy because I do not think we want to cater to all the broken installations of system tools. When tests fail because somebody's "mkdir -p" (just a random example I picked from your patch) does not work correctly, we would just say "Your system is broken, and here is a nickle; get a better computer". Why is svnadmin so special?
Quoted 7 lines
Also isn't the breakage not just this test, but also in all the tests that try to run "svnadmin load"? Shouldn't we somehow hoist this logic out of t9010 and put it in
t/lib-vcs-svn.shor somewhere?As far as I understand, svn interoperability bits (git-svn and vcs-svn) do not rely on svnadmin at runtime, so a breakage in the system's svnadmin would not be a reason to omit building and installing them.
You're right, I did not do a good job of selling the patch. I should have said:
Subject: t9010: svnadmin can fail even if available
If svn is built against one version of SQLite and run against another, libsvn_subr needlessly errors out in operations that need to make a commit.
That is clearly not a bug in git but let us consider the ramifications for the test suite. git-svn uses libsvn directly and is probably broken by that bug; it is right for git-svn tests to fail. The vcs-svn lib, on the other hand, does not use libsvn and the test t9010 only uses svn to check its work. This points to two possible improvements:
- do not disable most vcs-svn tests if svn is missing.
- skip validation rather than failing it when svn fails.
Bring about both by putting the svn invocations into a single test that builds a repo to compare the test-svn-fe result against. The test will always pass but only will set the new SVNREPO test prereq if svn succeeds; and validation using that repo gets an SVNREPO prerequisite so it only runs with working svn installations.
Works-around: http://bugs.debian.org/608925
Re: [PATCH] t9010: svnadmin can fail even if available
Quoted 3 lines · Jonathan Nieder
Quoted 3 lines
Also isn't the breakage not just this test, but also in all the tests that try to run "svnadmin load"? Shouldn't we somehow hoist this logic out of t9010 and put it in
t/lib-vcs-svn.shor somewhere?
Am I mistaken and t9010 is the only one that needs the fix in your patch?
Re: [PATCH] t9010: svnadmin can fail even if available
Quoted 7 lines · Junio C Hamano
Quoted 3 lines · Jonathan Nieder
Quoted 3 lines
Also isn't the breakage not just this test, but also in all the tests that try to run "svnadmin load"? Shouldn't we somehow hoist this logic out of t9010 and put it in
t/lib-vcs-svn.shor somewhere?Am I mistaken and t9010 is the only one that needs the fix in your patch?
Everything except t9010 is testing git-svn. My argument before was that this libsvn_subr breakage is going to leave git-svn broken anyway, so why bother guarding against it in tests?
That precise argument is broken in at least three ways:
- the libsvn_subr breakage would only breaks "git svn dcommit" (and "git svn set-tree") and only when the remote svn repo is actually a local svn repo using the FSFS backend.
- maybe the next time "svnadmin load" breaks it will not break git svn
- this particular breakage seems especially unworthy of workarounds because it is so easy to fix on the svn side.
So why do I like the patch to t9010? Two reasons: first, it means t9010 could run on systems without svn installed at all, and second, it means that there is one less test to worry about if svn fails in some other way in the future.
To do the same for t91* would be impossible. If svn is broken or not installed, svn-fe will run fine, but "git svn" will not. On the other hand, if svnadmin were broken but svn still worked, "git svn" would be fine but that would be quite strange and I do not think it is worth spending time to prepare for.
Re: [PATCH] t9010: svnadmin can fail even if available
Hi,
Quoted 5 lines · Jonathan Nieder
To do the same for t91* would be impossible. If svn is broken or not installed, svn-fe will run fine, but "git svn" will not. On the other hand, if svnadmin were broken but svn still worked, "git svn" would be fine but that would be quite strange and I do not think it is worth spending time to prepare for.
I don't think it's worth spending time preparing for every concievable breakage. The patch A few more examples of possible breakages I've encountered:
- APR compiled without threading support, SVN compiled with it, or viceversa.
- SVN is compiled against GNU iconv, but apr-iconv installed, or viceversa.
- Two different versions of a dependent library are installed, and SVN links to a different version in a different location.
One or many components of SVN may fail. So, I'm in favor of the current approach: if SVN is installed, attempt to run all the t91* tests. Any failure can either be interpreted as a real test failure or malformed SVN installation.
-- Ram
Re: [PATCH] t9010: svnadmin can fail even if available
Quoted 17 lines · Ramkumar Ramachandra
Quoted 5 lines · Jonathan Nieder
To do the same for t91* would be impossible. If svn is broken or not installed, svn-fe will run fine, but "git svn" will not. On the other hand, if svnadmin were broken but svn still worked, "git svn" would be fine but that would be quite strange and I do not think it is worth spending time to prepare for.
I don't think it's worth spending time preparing for every concievable breakage. The patch A few more examples of possible breakages I've encountered:
- APR compiled without threading support, SVN compiled with it, or viceversa.
- SVN is compiled against GNU iconv, but apr-iconv installed, or viceversa.
- Two different versions of a dependent library are installed, and SVN links to a different version in a different location.
Quoted 4 lines
One or many components of SVN may fail. So, I'm in favor of the current approach: if SVN is installed, attempt to run all the t91* tests. Any failure can either be interpreted as a real test failure or malformed SVN installation.
That was what I was alluding to earlier, but ...
(1) the patch has already been written and it looks obviously correct;
(2) the code after the patch is shorter and more readable; and
(3) this will prevent the mailing list from getting spammed by useless "bug reports" that should have been directed to distros that packaged subversion in one broken way.
Admittedly, it may only catch a breakage in one particular way and not other ways, so we cannot put too much weight on (3), but I would say (2) above alone is a merit enough for us to have this.
Quoted 8 lines · A Large Angry SCM
+ svnadmin load simple-svn
<<< Started new transaction, based on original revision 1
* adding path : branches ... done.
* adding path : trunk ... done.
svnadmin: Couldn't perform atomic initialization
svnadmin: Couldn't perform atomic initialization
svnadmin: SQLite compiled for 3.7.4, but running with 3.7.3
+ eval_ret=1
Hmm. Do any other svn related tests that use "svnadmin load" work in your environment?
$ cd t/
$ git grep -l 'svnadmin load'
t9010-svn-fe.sh
t9110-git-svn-use-svm-props.sh
t9111-git-svn-use-svnsync-props.sh
t9112-git-svn-md5less-file.sh
t9115-git-svn-dcommit-funky-renames.sh
t9121-git-svn-fetch-renamed-dir.sh
t9126-git-svn-follow-deleted-readded-directory.sh
t9131-git-svn-empty-symlink.sh
t9132-git-svn-broken-symlink.sh
t9135-git-svn-moved-branch-empty-file.sh
t9136-git-svn-recreated-branch-empty-file.sh
t9150-svk-mergetickets.sh
t9151-svn-mergeinfo.sh
t9153-git-svn-rewrite-uuid.sh
t9154-git-svn-fancy-glob.shWeb searching for "svnadmin: SQLite compiled for" seems to give a handful of hits, even though I don't see anything from Debian offhand.
Quoted 32 lines · Junio C Hamano
Quoted 8 lines · A Large Angry SCM
+ svnadmin load simple-svn
<<< Started new transaction, based on original revision 1
* adding path : branches ... done.
* adding path : trunk ... done.
svnadmin: Couldn't perform atomic initialization
svnadmin: Couldn't perform atomic initialization
svnadmin: SQLite compiled for 3.7.4, but running with 3.7.3
+ eval_ret=1Hmm. Do any other svn related tests that use "svnadmin load" work in your environment?
$ cd t/ $ git grep -l 'svnadmin load' t9010-svn-fe.sh t9110-git-svn-use-svm-props.sh t9111-git-svn-use-svnsync-props.sh t9112-git-svn-md5less-file.sh t9115-git-svn-dcommit-funky-renames.sh t9121-git-svn-fetch-renamed-dir.sh t9126-git-svn-follow-deleted-readded-directory.sh t9131-git-svn-empty-symlink.sh t9132-git-svn-broken-symlink.sh t9135-git-svn-moved-branch-empty-file.sh t9136-git-svn-recreated-branch-empty-file.sh t9150-svk-mergetickets.sh t9151-svn-mergeinfo.sh t9153-git-svn-rewrite-uuid.sh t9154-git-svn-fancy-glob.sh
Quoted 3 lines
Web searching for "svnadmin: SQLite compiled for" seems to give a handful of hits, even though I don't see anything from Debian offhand.
It looks like all of the svn tests are failing.
I checked out the last version I built and tested, f2665ec, and it's failing the svn tests also. So, it looks like the current Debian (Squeeze) svn package is broken. And the following seems to confirm that.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608925