Skip to content

Commit

Permalink
t6007: Make sure we test --cherry-pick
Browse files Browse the repository at this point in the history
Test 5 wants to test --cherry-pick but limits by pathspec in such a way
that there are no commits on the left side of the range.

Add a test without "--cherry-pick" which displays this, and add two
more commits and another test which tests what we're after. This also
shortens the last test.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Michael J Gruber authored and Junio C Hamano committed Feb 22, 2011
1 parent 60adf7d commit e0b9c34
Showing 1 changed file with 41 additions and 8 deletions.
49 changes: 41 additions & 8 deletions t/t6007-rev-list-cherry-pick-file.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@ test_description='test git rev-list --cherry-pick -- file'

. ./test-lib.sh

# A---B
# A---B---D
# \
# \
# C
# 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.

test_expect_success setup '
echo Hallo > foo &&
Expand All @@ -25,11 +26,21 @@ test_expect_success setup '
test_tick &&
git commit -m "C" &&
git tag C &&
echo Dello > bar &&
git add bar &&
test_tick &&
git commit -m "E" &&
git tag E &&
git checkout master &&
git checkout branch foo &&
test_tick &&
git commit -m "B" &&
git tag B
git tag B &&
echo Cello > bar &&
git add bar &&
test_tick &&
git commit -m "D" &&
git tag D
'

cat >expect <<EOF
Expand All @@ -53,8 +64,33 @@ test_expect_success '--cherry-pick foo comes up empty' '
test -z "$(git rev-list --left-right --cherry-pick B...C -- foo)"
'

cat >expect <<EOF
>tags/C
EOF

test_expect_success '--cherry-pick bar does not come up empty' '
! test -z "$(git rev-list --left-right --cherry-pick B...C -- bar)"
git rev-list --left-right --cherry-pick B...C -- bar > actual &&
git name-rev --stdin --name-only --refs="*tags/*" \
< actual > actual.named &&
test_cmp actual.named expect
'

test_expect_success 'bar does not come up empty' '
git rev-list --left-right B...C -- 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 bar does not come up empty (II)' '
git rev-list --left-right --cherry-pick D...E -- bar > actual &&
git name-rev --stdin --name-only --refs="*tags/*" \
< actual > actual.named &&
test_cmp actual.named expect
'

test_expect_success '--cherry-pick with independent, but identical branches' '
Expand All @@ -75,11 +111,8 @@ cat >expect <<EOF
1 2
EOF

# Insert an extra commit to break the symmetry
test_expect_success '--count --left-right' '
git checkout branch &&
test_commit D &&
git rev-list --count --left-right B...D > actual &&
git rev-list --count --left-right C...D > actual &&
test_cmp expect actual
'

Expand Down

0 comments on commit e0b9c34

Please sign in to comment.