зеркало из https://github.com/microsoft/git.git
t/interop: add test of old clients against modern git-daemon
This test just checks that old clients can clone and fetch from a newer git-daemon. The opposite should also be true, but it's hard to test ancient versions of git-daemon because they lack basic options like "--listen". Note that we have to make a slight tweak to the lib-git-daemon helper from the regular tests, so that it starts the daemon with our correct git.a version. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
3d8936153d
Коммит
bd4d9d993c
|
@ -0,0 +1,41 @@
|
|||
#!/bin/sh
|
||||
|
||||
VERSION_A=.
|
||||
VERSION_B=v1.0.0
|
||||
|
||||
: ${LIB_GIT_DAEMON_PORT:=5500}
|
||||
LIB_GIT_DAEMON_COMMAND='git.a daemon'
|
||||
|
||||
test_description='clone and fetch by older client'
|
||||
. ./interop-lib.sh
|
||||
. "$TEST_DIRECTORY"/lib-git-daemon.sh
|
||||
|
||||
start_git_daemon --export-all
|
||||
|
||||
repo=$GIT_DAEMON_DOCUMENT_ROOT_PATH/repo
|
||||
|
||||
test_expect_success "create repo served by $VERSION_A" '
|
||||
git.a init "$repo" &&
|
||||
git.a -C "$repo" commit --allow-empty -m one
|
||||
'
|
||||
|
||||
test_expect_success "clone with $VERSION_B" '
|
||||
git.b clone "$GIT_DAEMON_URL/repo" child &&
|
||||
echo one >expect &&
|
||||
git.a -C child log -1 --format=%s >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success "fetch with $VERSION_B" '
|
||||
git.a -C "$repo" commit --allow-empty -m two &&
|
||||
(
|
||||
cd child &&
|
||||
git.b fetch
|
||||
) &&
|
||||
echo two >expect &&
|
||||
git.a -C child log -1 --format=%s FETCH_HEAD >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
stop_git_daemon
|
||||
test_done
|
|
@ -46,7 +46,8 @@ start_git_daemon() {
|
|||
|
||||
say >&3 "Starting git daemon ..."
|
||||
mkfifo git_daemon_output
|
||||
git daemon --listen=127.0.0.1 --port="$LIB_GIT_DAEMON_PORT" \
|
||||
${LIB_GIT_DAEMON_COMMAND:-git daemon} \
|
||||
--listen=127.0.0.1 --port="$LIB_GIT_DAEMON_PORT" \
|
||||
--reuseaddr --verbose \
|
||||
--base-path="$GIT_DAEMON_DOCUMENT_ROOT_PATH" \
|
||||
"$@" "$GIT_DAEMON_DOCUMENT_ROOT_PATH" \
|
||||
|
|
Загрузка…
Ссылка в новой задаче