On 08/28, Martin Ågren wrote: > On Tue, 27 Aug 2019 at 12:15, Thomas Gummerer <t.gummerer@xxxxxxxxx> 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! > > @@ -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