Merge branch 'pw/sequencer-recover-from-unlockable-index'
authorJunio C Hamano <gitster@pobox.com>
Mon, 27 Nov 2017 02:06:35 +0000 (11:06 +0900)
committerJunio C Hamano <gitster@pobox.com>
Mon, 27 Nov 2017 02:06:35 +0000 (11:06 +0900)
The sequencer machinery (used by "git cherry-pick A..B", and "git
rebase -i", among other things) would have lost a commit if stopped
due to an unlockable index file, which has been fixed.

* pw/sequencer-recover-from-unlockable-index:
sequencer: reschedule pick if index can't be locked

sequencer.c
index 19dd575ed9b3b280a3fdabc9121a2e193d6984db..fa94ed652d2ce87fddf824aa516456b5f42735e7 100644 (file)
@@ -438,7 +438,8 @@ static int do_recursive_merge(struct commit *base, struct commit *next,
        char **xopt;
        static struct lock_file index_lock;
 
-       hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
+       if (hold_locked_index(&index_lock, LOCK_REPORT_ON_ERROR) < 0)
+               return -1;
 
        read_cache();