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:
Junio C Hamano
2017-09-26 14:15:55 +09:00
11 changed files with 183 additions and 56 deletions

View File

@@ -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