diff options
author | Chris Johnsen <chris_johnsen@pobox.com> | 2009-03-07 03:30:51 -0600 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-03-07 12:21:45 -0800 |
commit | 0d66e95903a5c2567baa61cc7299ce865abe41b1 (patch) | |
tree | 26c62d92b9306e50411587229c561b6f2d7f26c2 | |
parent | dcc901bc2926f92558a854430570123b4152451d (diff) | |
download | git-0d66e95903a5c2567baa61cc7299ce865abe41b1.tar.gz git-0d66e95903a5c2567baa61cc7299ce865abe41b1.tar.xz |
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>
-rw-r--r-- | builtin-revert.c | 1 | ||||
-rwxr-xr-x | t/t3505-cherry-pick-empty.sh | 33 |
2 files changed, 34 insertions, 0 deletions
diff --git a/builtin-revert.c b/builtin-revert.c index d48313c74..09d08fa3e 100644 --- a/builtin-revert.c +++ b/builtin-revert.c @@ -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"); diff --git a/t/t3505-cherry-pick-empty.sh b/t/t3505-cherry-pick-empty.sh new file mode 100755 index 000000000..9aaeabd97 --- /dev/null +++ b/t/t3505-cherry-pick-empty.sh @@ -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 |