diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-04-25 12:17:45 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-04-25 12:17:45 -0700 |
commit | 36c79d2bf893b9957688a6c8c13cc0bf0589e596 (patch) | |
tree | 39c9815e82d5fffdb537ea9bfd6cf71359dec845 /t | |
parent | 049a226fa14fb25c03d2146c2f8f184cfea5e5bf (diff) | |
parent | 06cbe8550324e0fd2290839bf3b9a92aa53b70ab (diff) | |
download | git-36c79d2bf893b9957688a6c8c13cc0bf0589e596.tar.gz git-36c79d2bf893b9957688a6c8c13cc0bf0589e596.tar.xz |
Merge branch 'ho/shared'
* ho/shared:
Make core.sharedRepository more generic
Diffstat (limited to 't')
-rwxr-xr-x | t/t1301-shared-repo.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/t/t1301-shared-repo.sh b/t/t1301-shared-repo.sh index 6bfe19a4e..5e4252a32 100755 --- a/t/t1301-shared-repo.sh +++ b/t/t1301-shared-repo.sh @@ -7,6 +7,16 @@ test_description='Test shared repository initialization' . ./test-lib.sh +# User must have read permissions to the repo -> failure on --shared=0400 +test_expect_success 'shared = 0400 (faulty permission u-w)' ' + mkdir sub && ( + cd sub && git init --shared=0400 + ) + ret="$?" + rm -rf sub + test $ret != "0" +' + test_expect_success 'shared=all' ' mkdir sub && cd sub && @@ -33,4 +43,44 @@ test_expect_success 'update-server-info honors core.sharedRepository' ' esac ' +for u in 0660:rw-rw---- \ + 0640:rw-r----- \ + 0600:rw------- \ + 0666:rw-rw-rw- \ + 0664:rw-rw-r-- +do + x=$(expr "$u" : ".*:\([rw-]*\)") && + y=$(echo "$x" | sed -e "s/w/-/g") && + u=$(expr "$u" : "\([0-7]*\)") && + git config core.sharedrepository "$u" && + umask 0277 && + + test_expect_success "shared = $u ($y) ro" ' + + rm -f .git/info/refs && + git update-server-info && + actual="$(ls -l .git/info/refs)" && + actual=${actual%% *} && + test "x$actual" = "x-$y" || { + ls -lt .git/info + false + } + ' + + umask 077 && + test_expect_success "shared = $u ($x) rw" ' + + rm -f .git/info/refs && + git update-server-info && + actual="$(ls -l .git/info/refs)" && + actual=${actual%% *} && + test "x$actual" = "x-$x" || { + ls -lt .git/info + false + } + + ' + +done + test_done |