Re: [PATCH] Make git reflog expire honour core.sharedRepository.
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jun 16, 2008, 15:19 UTC
- Message-ID
- <alpine.DEB.1.00.0806161718050.3302@eeepc-johanness>
- In-Reply-To
- <alpine.DEB.1.00.0806161713520.3302@eeepc-johanness>
Hi,
On Mon, 16 Jun 2008, Johannes Schindelin wrote:
Show 28 quoted lines
> On Sun, 15 Jun 2008, Junio C Hamano wrote:
>
> > 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.Ooops. I think I missed your point, namely that this should only be done when no error occurred. I just blame it on the short snippet.
Sorry, Dscho