builtin-revert.c: release index lock when cherry-picking an empty commit

When a cherry-pick of an empty commit is done, release the lock
held on the index.

The fix is the same as was applied to similar code in 4271666046.

Signed-off-by: Chris Johnsen <chris_johnsen@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Chris Johnsen 2009-03-07 03:30:51 -06:00 коммит произвёл Junio C Hamano
Родитель dcc901bc29
Коммит 0d66e95903
2 изменённых файлов: 34 добавлений и 0 удалений

Просмотреть файл

@ -387,6 +387,7 @@ static int revert_or_cherry_pick(int argc, const char **argv)
(write_cache(index_fd, active_cache, active_nr) || (write_cache(index_fd, active_cache, active_nr) ||
commit_locked_index(&index_lock))) commit_locked_index(&index_lock)))
die("%s: Unable to write new index file", me); die("%s: Unable to write new index file", me);
rollback_lock_file(&index_lock);
if (!clean) { if (!clean) {
add_to_msg("\nConflicts:\n\n"); add_to_msg("\nConflicts:\n\n");

33
t/t3505-cherry-pick-empty.sh Executable file
Просмотреть файл

@ -0,0 +1,33 @@
#!/bin/sh
test_description='test cherry-picking an empty commit'
. ./test-lib.sh
test_expect_success setup '
echo first > file1 &&
git add file1 &&
test_tick &&
git commit -m "first" &&
git checkout -b empty-branch &&
test_tick &&
git commit --allow-empty -m "empty"
'
test_expect_code 1 'cherry-pick an empty commit' '
git checkout master &&
git cherry-pick empty-branch
'
test_expect_success 'index lockfile was removed' '
test ! -f .git/index.lock
'
test_done