Sync with 2.14.2
* maint: Git 2.14.2 Git 2.13.6 Git 2.12.5 Git 2.11.4 Git 2.10.5 cvsimport: shell-quote variable used in backticks archimport: use safe_pipe_capture for user input shell: drop git-cvsserver support by default cvsserver: use safe_pipe_capture for `constant commands` as well cvsserver: use safe_pipe_capture instead of backticks cvsserver: move safe_pipe_capture() to the main package
This commit is contained in:
@@ -588,4 +588,52 @@ test_expect_success 'cvs annotate' '
|
||||
test_cmp ../expect ../actual
|
||||
'
|
||||
|
||||
#------------
|
||||
# running via git-shell
|
||||
#------------
|
||||
|
||||
cd "$WORKDIR"
|
||||
|
||||
test_expect_success 'create remote-cvs helper' '
|
||||
write_script remote-cvs <<-\EOF
|
||||
exec git shell -c "cvs server"
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'cvs server does not run with vanilla git-shell' '
|
||||
(
|
||||
cd cvswork &&
|
||||
CVS_SERVER=$WORKDIR/remote-cvs &&
|
||||
export CVS_SERVER &&
|
||||
test_must_fail cvs log merge
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'configure git shell to run cvs server' '
|
||||
mkdir "$HOME"/git-shell-commands &&
|
||||
|
||||
write_script "$HOME"/git-shell-commands/cvs <<-\EOF &&
|
||||
if ! test $# = 1 && test "$1" = "server"
|
||||
then
|
||||
echo >&2 "git-cvsserver only handles \"server\""
|
||||
exit 1
|
||||
fi
|
||||
exec git cvsserver server
|
||||
EOF
|
||||
|
||||
# Should not be used, but part of the recommended setup
|
||||
write_script "$HOME"/git-shell-commands/no-interactive-login <<-\EOF
|
||||
echo Interactive login forbidden
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'cvs server can run with recommended config' '
|
||||
(
|
||||
cd cvswork &&
|
||||
CVS_SERVER=$WORKDIR/remote-cvs &&
|
||||
export CVS_SERVER &&
|
||||
cvs log merge
|
||||
)
|
||||
'
|
||||
|
||||
test_done
|
||||
|
||||
Reference in New Issue
Block a user