aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorMichael J Gruber <git@drmicha.warpmail.net>2011-02-21 17:09:12 +0100
committerJunio C Hamano <gitster@pobox.com>2011-02-21 16:34:05 -0800
commit59c8afdf475d2b072fb63383df9f62afd2b3b1ee (patch)
treecf1f68185ae6e6a971790a001e86cf86b94abdae /t
parente0b9c34f7eec9d7943bbb8a3134f24e6e4e4ed3e (diff)
downloadgit-59c8afdf475d2b072fb63383df9f62afd2b3b1ee.tar.gz
git-59c8afdf475d2b072fb63383df9f62afd2b3b1ee.tar.xz
rev-list: documentation and test for --left/right-only
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-xt/t6007-rev-list-cherry-pick-file.sh32
1 files changed, 28 insertions, 4 deletions
diff --git a/t/t6007-rev-list-cherry-pick-file.sh b/t/t6007-rev-list-cherry-pick-file.sh
index 64b72a3e2..cd089a913 100755
--- a/t/t6007-rev-list-cherry-pick-file.sh
+++ b/t/t6007-rev-list-cherry-pick-file.sh
@@ -4,14 +4,14 @@ test_description='test git rev-list --cherry-pick -- file'
. ./test-lib.sh
-# A---B---D
+# A---B---D---F
# \
# \
# C---E
#
# 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.
-# D and C change bar in the same way, E differently.
+# D and C change bar in the same way, E and F differently.
test_expect_success setup '
echo Hallo > foo &&
@@ -40,7 +40,12 @@ test_expect_success setup '
git add bar &&
test_tick &&
git commit -m "D" &&
- git tag D
+ git tag D &&
+ echo Nello > bar &&
+ git add bar &&
+ test_tick &&
+ git commit -m "F" &&
+ git tag F
'
cat >expect <<EOF
@@ -83,11 +88,30 @@ test_expect_success 'bar does not come up empty' '
'
cat >expect <<EOF
+<tags/F
>tags/E
EOF
test_expect_success '--cherry-pick bar does not come up empty (II)' '
- git rev-list --left-right --cherry-pick D...E -- bar > actual &&
+ git rev-list --left-right --cherry-pick F...E -- bar > actual &&
+ git name-rev --stdin --name-only --refs="*tags/*" \
+ < actual > actual.named &&
+ test_cmp actual.named expect
+'
+
+cat >expect <<EOF
+tags/E
+EOF
+
+test_expect_success '--cherry-pick --right-only' '
+ git rev-list --cherry-pick --right-only F...E -- bar > actual &&
+ git name-rev --stdin --name-only --refs="*tags/*" \
+ < actual > actual.named &&
+ test_cmp actual.named expect
+'
+
+test_expect_success '--cherry-pick --left-only' '
+ git rev-list --cherry-pick --left-only E...F -- bar > actual &&
git name-rev --stdin --name-only --refs="*tags/*" \
< actual > actual.named &&
test_cmp actual.named expect