Merge branch 'pw/sequencer-recover-from-unlockable-index' into maint
authorJunio C Hamano <gitster@pobox.com>
Wed, 6 Dec 2017 17:09:03 +0000 (09:09 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 6 Dec 2017 17:09:03 +0000 (09:09 -0800)
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 2882d53..5e09b5d 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();