Re: [PATCH] Make git reflog expire honour core.sharedRepository.
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jun 16, 2008, 15:15 UTC
- Message-ID
- <alpine.DEB.1.00.0806161713520.3302@eeepc-johanness>
- In-Reply-To
- <7vhcbuco2w.fsf@gitster.siamese.dyndns.org>
Hi,
On Sun, 15 Jun 2008, Junio C Hamano wrote:
Show 23 quoted lines
> Pierre Habouzit <madcoder@debian.org> writes:
>
> > Signed-off-by: Pierre Habouzit <madcoder@debian.org>
> > ---
> > 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