summaryrefslogtreecommitdiff
path: root/sequencer.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-11-27 02:06:35 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-11-27 02:06:35 (GMT)
commitc2ed68342b8247d99fa1204872984ce9817fbaae (patch)
tree583b53d27f5aaaf9a027bfb4f730ede64a249b11 /sequencer.c
parent6254330e4d075be1fdbef0349b40562d25157b6e (diff)
parentbd58886775de24ce3a330775a35c3c2e868967ee (diff)
downloadgit-c2ed68342b8247d99fa1204872984ce9817fbaae.zip
git-c2ed68342b8247d99fa1204872984ce9817fbaae.tar.gz
git-c2ed68342b8247d99fa1204872984ce9817fbaae.tar.bz2
Merge branch 'pw/sequencer-recover-from-unlockable-index'
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
Diffstat (limited to 'sequencer.c')
-rw-r--r--sequencer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sequencer.c b/sequencer.c
index 19dd575..fa94ed6 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -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();