Browse Source

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>
maint
Chris Johnsen 16 years ago committed by Junio C Hamano
parent
commit
0d66e95903
  1. 1
      builtin-revert.c
  2. 33
      t/t3505-cherry-pick-empty.sh

1
builtin-revert.c

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

if (!clean) {
add_to_msg("\nConflicts:\n\n");

33
t/t3505-cherry-pick-empty.sh

@ -0,0 +1,33 @@ @@ -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
Loading…
Cancel
Save