diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-01-14 12:30:26 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-01-14 12:30:27 -0800 |
commit | 6d9f0c7c0de61776f61e8674bf080f2a2241832c (patch) | |
tree | 6827f34410792c3705c5c2e7cf339f624f64ab58 | |
parent | Merge branch 'js/remote-add-with-insteadof' (diff) | |
parent | update-server-info: create info/* with mode 0666 (diff) | |
download | tgif-6d9f0c7c0de61776f61e8674bf080f2a2241832c.tar.xz |
Merge branch 'jk/prune-packed-server-info'
Fix recent breakage in Git 2.2 that started creating info/refs and
objects/info/packs files with permission bits tighter than user's
umask.
* jk/prune-packed-server-info:
update-server-info: create info/* with mode 0666
t1301: set umask in reflog sharedrepository=group test
-rw-r--r-- | server-info.c | 2 | ||||
-rwxr-xr-x | t/t1301-shared-repo.sh | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/server-info.c b/server-info.c index 31f4a749fb..34b0253177 100644 --- a/server-info.c +++ b/server-info.c @@ -17,7 +17,7 @@ static int update_info_file(char *path, int (*generate)(FILE *)) FILE *fp = NULL; safe_create_leading_directories(path); - fd = mkstemp(tmp); + fd = git_mkstemp_mode(tmp, 0666); if (fd < 0) goto out; fp = fdopen(fd, "w"); diff --git a/t/t1301-shared-repo.sh b/t/t1301-shared-repo.sh index de42d21c92..7eecfb836a 100755 --- a/t/t1301-shared-repo.sh +++ b/t/t1301-shared-repo.sh @@ -111,7 +111,18 @@ do done +test_expect_success POSIXPERM 'info/refs respects umask in unshared repo' ' + rm -f .git/info/refs && + test_unconfig core.sharedrepository && + umask 002 && + git update-server-info && + echo "-rw-rw-r--" >expect && + modebits .git/info/refs >actual && + test_cmp expect actual +' + test_expect_success POSIXPERM 'git reflog expire honors core.sharedRepository' ' + umask 077 && git config core.sharedRepository group && git reflog expire --all && actual="$(ls -l .git/logs/refs/heads/master)" && |