diff options
author | Pierre Habouzit <madcoder@debian.org> | 2008-06-15 23:37:42 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-06-15 15:54:06 -0700 |
commit | 336d09daf288492946f0c51f071da11643f8363d (patch) | |
tree | 22065546651f109c587b83d2168dbc91935aa3a5 | |
parent | 4744d72393defef27fb76f047c2fac53ff6fb9ff (diff) | |
download | git-336d09daf288492946f0c51f071da11643f8363d.tar.gz |
Make git reflog expire honour core.sharedRepository.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin-reflog.c | 2 | ||||
-rwxr-xr-x | t/t1301-shared-repo.sh | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/builtin-reflog.c b/builtin-reflog.c index 897d1dcac6..b151e24ff9 100644 --- a/builtin-reflog.c +++ b/builtin-reflog.c @@ -307,6 +307,8 @@ static int expire_reflog(const char *ref, const unsigned char *sha1, int unused, unlink(newlog_path); } else if (cmd->updateref && commit_ref(lock)) { status |= error("Couldn't set %s", lock->ref_name); + } else { + adjust_shared_perm(log_file); } } free(newlog_path); diff --git a/t/t1301-shared-repo.sh b/t/t1301-shared-repo.sh index 5e4252a320..6c78c8bc9b 100755 --- a/t/t1301-shared-repo.sh +++ b/t/t1301-shared-repo.sh @@ -83,4 +83,19 @@ do done +test_expect_success 'git reflog expire honors core.sharedRepository' ' + git config core.sharedRepository group && + git reflog expire --all && + actual="$(ls -l .git/logs/refs/heads/master)" && + case "$actual" in + -rw-rw-*) + : happy + ;; + *) + echo Ooops, .git/logs/refs/heads/master is not 0662 [$actual] + false + ;; + esac +' + test_done |