Re: [PATCH] Make git reflog expire honour core.sharedRepository.
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:44:46
Hi, On Sun, 15 Jun 2008, Junio C Hamano wrote:
Pierre Habouzit [off-list ref] writes:quoted
Signed-off-by: Pierre Habouzit <redacted> --- builtin-reflog.c | 1 + t/t1301-shared-repo.sh | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 0 deletions(-) Some people like to have logAllRefUpdates even for bare repositories, and if shared, git-gc breaks them.diff --git a/builtin-reflog.c b/builtin-reflog.c index 897d1dc..430929f 100644 --- a/builtin-reflog.c +++ b/builtin-reflog.c@@ -308,6 +308,7 @@ static int expire_reflog(const char *ref, const unsigned char *sha1, int unused, } else if (cmd->updateref && commit_ref(lock)) { status |= error("Couldn't set %s", lock->ref_name); } + adjust_shared_perm(log_file);Why is it sane to do this unconditionally, instead of putting in another else or something?
Because adjust_shared_perm() checks for shared_repository, and returns when there is nothing to do. IMO this is a sane convention, since you _never_ want to do this unconditionally anyway, and you avoid a lot of identical "if () adjust()" constructs. Ciao, Dscho