diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2007-07-10 14:50:49 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-07-11 14:59:31 -0700 |
commit | 36d56de649aacdbf555d2c9743c514cc52368f2c (patch) | |
tree | 9331753d9ae33d057767444b8dad90de2b9c8639 /t | |
parent | 835252272e0192bd26983e22428480c5c89775fb (diff) | |
download | git-36d56de649aacdbf555d2c9743c514cc52368f2c.tar.gz git-36d56de649aacdbf555d2c9743c514cc52368f2c.tar.xz |
Fix --cherry-pick with given paths
If you say --cherry-pick, you do not want to see patches which are
in the upstream. If you specify paths with that, what you usually
expect is that only those parts of the patches are looked at which
actually touch the given paths.
With this patch, that expectation is met.
Noticed by Sam Vilain.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t6007-rev-list-cherry-pick-file.sh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/t/t6007-rev-list-cherry-pick-file.sh b/t/t6007-rev-list-cherry-pick-file.sh new file mode 100755 index 000000000..3faeae6c0 --- /dev/null +++ b/t/t6007-rev-list-cherry-pick-file.sh @@ -0,0 +1,43 @@ +#!/bin/sh + +test_description='test git rev-list --cherry-pick -- file' + +. ./test-lib.sh + +# A---B +# \ +# \ +# C +# +# B changes a file foo.c, adding a line of text. C changes foo.c as +# well as bar.c, but the change in foo.c was identical to change B. + +test_expect_success setup ' + echo Hallo > foo && + git add foo && + test_tick && + git commit -m "A" && + git tag A && + git checkout -b branch && + echo Bello > foo && + echo Cello > bar && + git add foo bar && + test_tick && + git commit -m "C" && + git tag C && + git checkout master && + git checkout branch foo && + test_tick && + git commit -m "B" && + git tag B +' + +test_expect_success '--cherry-pick foo comes up empty' ' + test -z "$(git rev-list --left-right --cherry-pick B...C -- foo)" +' + +test_expect_success '--cherry-pick bar does not come up empty' ' + ! test -z "$(git rev-list --left-right --cherry-pick B...C -- bar)" +' + +test_done |