diff options
Diffstat (limited to 'third_party/git/t/interop/i5500-git-daemon.sh')
-rwxr-xr-x | third_party/git/t/interop/i5500-git-daemon.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/third_party/git/t/interop/i5500-git-daemon.sh b/third_party/git/t/interop/i5500-git-daemon.sh new file mode 100755 index 000000000000..4d22e42f8422 --- /dev/null +++ b/third_party/git/t/interop/i5500-git-daemon.sh @@ -0,0 +1,40 @@ +#!/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 +' + +test_done |