Re: [PATCH 2/3] merge: use refresh_and_write_cache
- From
Thomas Gummerer <t.gummerer@gmail.com>
- Date
- Aug 29, 2019, 18:00 UTC
- Message-ID
- <20190829180005.GC48344@cat>
- In-Reply-To
- <CAN0heSrs42hL7gmqMuugGLNOV8Vd9gxPcUiLA5oTXnhPEM-9qw@mail.gmail.com>
On 08/28, Martin Ågren wrote:
Show 21 quoted lines
> On Tue, 27 Aug 2019 at 12:15, Thomas Gummerer <t.gummerer@gmail.com> wrote:
>
> > struct lock_file lock = LOCK_INIT;
> > const char *head_arg = "HEAD";
> >
> > - hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
> > - refresh_cache(REFRESH_QUIET);
> > - if (write_locked_index(&the_index, &lock,
> > - COMMIT_LOCK | SKIP_IF_UNCHANGED))
> > - return error(_("Unable to write index."));
> > + if (refresh_and_write_cache(REFRESH_QUIET, COMMIT_LOCK | SKIP_IF_UNCHANGED) < 0)
> > + return -1;
>
> I wondered why you didn't drop the `struct lock_file`, but it turns out
> we still need it further down.
>
> > if (!strcmp(strategy, "recursive") || !strcmp(strategy, "subtree")) {
> > int clean, x;
>
> What you could do, I guess, is to move its declaration to around here.
> Probably not worth a re-roll.I'll re-roll anyway for the things you spotted in the first patch, so I'll drop it down here while I'm at it, thanks!
Show 19 quoted lines
> > @@ -860,13 +857,9 @@ static int merge_trivial(struct commit *head, struct commit_list *remoteheads)
> > {
> > struct object_id result_tree, result_commit;
> > struct commit_list *parents, **pptr = &parents;
> > - struct lock_file lock = LOCK_INIT;
> >
> > - hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
> > - refresh_cache(REFRESH_QUIET);
> > - if (write_locked_index(&the_index, &lock,
> > - COMMIT_LOCK | SKIP_IF_UNCHANGED))
> > - return error(_("Unable to write index."));
> > + if (refresh_and_write_cache(REFRESH_QUIET, COMMIT_LOCK | SKIP_IF_UNCHANGED) < 0)
> > + return -1;
>
> Here you do drop the `struct lock_file` entirely, ok.
>
>
>
> Martin