git-commit-vandalism/t/t3500-cherry.sh
Junio C Hamano fcc387db9b read-tree -m -u: do not overwrite or remove untracked working tree files.
When a merge results in a creation of a path that did not exist
in HEAD, and if you already have that path on the working tree,
because the index has not been told about the working tree file,
read-tree happily removes it.  The issue was brought up by Santi
Béjar on the list.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-17 01:52:48 -07:00

55 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
#
# Copyright (c) 2006 Yann Dirson, based on t3400 by Amos Waterland
#
test_description='git-cherry should detect patches integrated upstream
This test cherry-picks one local change of two into master branch, and
checks that git-cherry only returns the second patch in the local branch
'
. ./test-lib.sh
export GIT_AUTHOR_EMAIL=bogus_email_address
test_expect_success \
'prepare repository with topic branch, and check cherry finds the 2 patches from there' \
'echo First > A &&
git-update-index --add A &&
git-commit -m "Add A." &&
git-checkout -b my-topic-branch &&
echo Second > B &&
git-update-index --add B &&
git-commit -m "Add B." &&
sleep 2 &&
echo AnotherSecond > C &&
git-update-index --add C &&
git-commit -m "Add C." &&
git-checkout -f master &&
rm -f B C &&
echo Third >> A &&
git-update-index A &&
git-commit -m "Modify A." &&
expr "$(echo $(git-cherry master my-topic-branch) )" : "+ [^ ]* + .*"
'
test_expect_success \
'check that cherry with limit returns only the top patch'\
'expr "$(echo $(git-cherry master my-topic-branch my-topic-branch^1) )" : "+ [^ ]*"
'
test_expect_success \
'cherry-pick one of the 2 patches, and check cherry recognized one and only one as new' \
'git-cherry-pick my-topic-branch^0 &&
echo $(git-cherry master my-topic-branch) &&
expr "$(echo $(git-cherry master my-topic-branch) )" : "+ [^ ]* - .*"
'
test_done