[PATCH 1/2] merge: close the index lock when not writing the new index
- From
Joel Teichroeb <joel@teichroeb.net>
- Date
- Nov 10, 2017, 23:13 UTC
- Message-ID
- <20171110231314.30711-2-joel@teichroeb.net>
- In-Reply-To
- <20171110231314.30711-1-joel@teichroeb.net>
If the merge does not have anything to do, it does not unlock the index, causing any further index operations to fail. Thus, always unlock the index regardless of outcome.
Signed-off-by: Joel Teichroeb <joel@teichroeb.net> --- merge-recursive.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/merge-recursive.c b/merge-recursive.c index 2ca8444c6..225ff3fb5 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -2184,9 +2184,12 @@ int merge_recursive_generic(struct merge_options *o, if (clean < 0) return clean; - if (active_cache_changed && - write_locked_index(&the_index, &lock, COMMIT_LOCK)) - return err(o, _("Unable to write index.")); + if (active_cache_changed) { + if (write_locked_index(&the_index, &lock, COMMIT_LOCK)) + return err(o, _("Unable to write index.")); + } else { + rollback_lock_file(&lock); + } return clean ? 0 : 1; }
-- 2.15.0