This is v2 of my series to always release locks. As before, there's a conflict with pu, where the correct resolution is to take my version of the conflicting hunk. The only difference to v1 is in patch 3. I'll follow up with a patch to address the confusing pattern which Peff mentioned and which fooled me when I prepared v1. Martin Martin Ågren (5): sequencer: make lockfiles non-static sequencer: always roll back lock in `do_recursive_merge()` merge-recursive: always roll back lock in `merge_recursive_generic()` merge: always roll back lock in `checkout_fast_forward()` sequencer: do not roll back lockfile unnecessarily merge-recursive.c | 5 ++++- merge.c | 12 +++++++++--- sequencer.c | 32 ++++++++++++++------------------ 3 files changed, 27 insertions(+), 22 deletions(-) -- 2.16.2.246.ga4ee44448f