Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
merge-recursive: always roll back lock in `merge_recursive_generic()`
author
Martin Ågren
<martin.agren@gmail.com>
Wed, 28 Feb 2018 19:07:56 +0000
(20:07 +0100)
committer
Junio C Hamano
<gitster@pobox.com>
Wed, 28 Feb 2018 19:15:51 +0000
(11:15 -0800)
If we return early, or if `active_cache_changed` is false, we forget to
roll back the lockfile.
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
merge-recursive.c
patch
|
blob
|
history
raw
|
patch
| inline |
side by side
(parent:
6481652
)
diff --git
a/merge-recursive.c
b/merge-recursive.c
index 6ff971f9a2a8e251b8762d75214697698e2d1ce6..129577987ba25402a6b9494b103a4643e2b37e68 100644
(file)
--- a/
merge-recursive.c
+++ b/
merge-recursive.c
@@
-2218,12
+2218,15
@@
int merge_recursive_generic(struct merge_options *o,
hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
clean = merge_recursive(o, head_commit, next_commit, ca,
result);
- if (clean < 0)
+ if (clean < 0) {
+ rollback_lock_file(&lock);
return clean;
+ }
if (active_cache_changed &&
write_locked_index(&the_index, &lock, COMMIT_LOCK))
return err(o, _("Unable to write index."));
+ rollback_lock_file(&lock);
return clean ? 0 : 1;
}