Revision d17ec3a9daffd7f525f39b52011dc653afcbd275 authored by Johannes Schindelin on 18 June 2015, 16:38:44 UTC, committed by Junio C Hamano on 29 June 2015, 20:11:37 UTC
When rev-list's --cherry option does not detect that a patch has already been applied upstream, an interactive rebase would offer to reapply it and consequently stop at that patch with a failure, mentioning that the diff is empty. Traditionally, a `git rebase --continue` simply skips the commit in such a situation. However, as pointed out by Gábor Szeder, this leaves a CHERRY_PICK_HEAD behind, making the Git prompt believe that a cherry pick is still going on. This commit adds a test case demonstrating this bug. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent fdf96a2
t0010-racy-git.sh
#!/bin/sh
test_description='racy GIT'
. ./test-lib.sh
# This test can give false success if your machine is sufficiently
# slow or your trial happened to happen on second boundary.
for trial in 0 1 2 3 4
do
rm -f .git/index
echo frotz >infocom
git update-index --add infocom
echo xyzzy >infocom
files=$(git diff-files -p)
test_expect_success \
"Racy GIT trial #$trial part A" \
'test "" != "$files"'
sleep 1
echo xyzzy >cornerstone
git update-index --add cornerstone
files=$(git diff-files -p)
test_expect_success \
"Racy GIT trial #$trial part B" \
'test "" != "$files"'
done
test_done
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...