Re: [PATCH 05/15] sequencer: lib'ify read_and_refresh_cache()
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Aug 24, 2016, 15:54 UTC
- Message-ID
- <alpine.DEB.2.20.1608241754080.4924@virtualbox>
- In-Reply-To
- <CAPig+cTP+GNubCaveO6Sf9t44VQit0EaFjXCFexq2CtCMG2=Fw@mail.gmail.com>
Hi Eric,
On Wed, 24 Aug 2016, Eric Sunshine wrote:
Show 26 quoted lines
> On Tue, Aug 23, 2016 at 12:07 PM, Johannes Schindelin
> <johannes.schindelin@gmx.de> wrote:
> > To be truly useful, the sequencer should never die() but always return
> > an error.
> >
> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> > ---
> > diff --git a/sequencer.c b/sequencer.c
> > @@ -638,18 +638,21 @@ static int prepare_revs(struct replay_opts *opts)
> > -static void read_and_refresh_cache(struct replay_opts *opts)
> > +static int read_and_refresh_cache(struct replay_opts *opts)
> > {
> > static struct lock_file index_lock;
> > int index_fd = hold_locked_index(&index_lock, 0);
> > if (read_index_preload(&the_index, NULL) < 0)
> > - die(_("git %s: failed to read the index"), action_name(opts));
> > + return error(_("git %s: failed to read the index"),
> > + action_name(opts));
> > refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, NULL, NULL, NULL);
> > if (the_index.cache_changed && index_fd >= 0) {
> > if (write_locked_index(&the_index, &index_lock, COMMIT_LOCK))
> > - die(_("git %s: failed to refresh the index"), action_name(opts));
> > + return error(_("git %s: failed to refresh the index"),
> > + action_name(opts));
>
> Do these two error returns need to rollback the lockfile?Here, too, the atexit() handler does the job, and again, this is not a change in behavior.
Thanks for your review! Dscho