Code

Merge commit 'v1.7.2-rc0~6^2' into cc/cherry-pick-stdin
authorJunio C Hamano <gitster@pobox.com>
Tue, 29 Jun 2010 17:20:53 +0000 (10:20 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 29 Jun 2010 17:22:55 +0000 (10:22 -0700)
* commit 'v1.7.2-rc0~6^2':
  DWIM 'git show -5' to 'git show --do-walk -5'
  Documentation/SubmittingPatches: Fix typo in GMail section
  Documentation/config: describe status.submodulesummary

This commit fixes one test in t3508 by making "cherry-pick -<num>"
walk the history.

A test update from Elijah Newren is squashed as an evil merge.

1  2 
t/t3508-cherry-pick-many-commits.sh

index 93d7189fbc3c1089fe729d8a144ea15d15e7de33,0000000000000000000000000000000000000000..f90ed3da3e0cb93b63d32d8002dc6d9bd3596a65
mode 100755,000000..100755
--- /dev/null
@@@ -1,105 -1,0 +1,105 @@@
- test_expect_failure 'cherry-pick -3 fourth works' '
 +#!/bin/sh
 +
 +test_description='test cherry-picking many commits'
 +
 +. ./test-lib.sh
 +
 +test_expect_success setup '
 +      echo first > file1 &&
 +      git add file1 &&
 +      test_tick &&
 +      git commit -m "first" &&
 +      git tag first &&
 +
 +      git checkout -b other &&
 +      for val in second third fourth
 +      do
 +              echo $val >> file1 &&
 +              git add file1 &&
 +              test_tick &&
 +              git commit -m "$val" &&
 +              git tag $val
 +      done
 +'
 +
 +test_expect_success 'cherry-pick first..fourth works' '
 +      git checkout -f master &&
 +      git reset --hard first &&
 +      test_tick &&
 +      git cherry-pick first..fourth &&
 +      git diff --quiet other &&
 +      git diff --quiet HEAD other &&
 +      test "$(git rev-parse --verify HEAD)" != "$(git rev-parse --verify fourth)"
 +'
 +
 +test_expect_success 'cherry-pick --ff first..fourth works' '
 +      git checkout -f master &&
 +      git reset --hard first &&
 +      test_tick &&
 +      git cherry-pick --ff first..fourth &&
 +      git diff --quiet other &&
 +      git diff --quiet HEAD other &&
 +      test "$(git rev-parse --verify HEAD)" = "$(git rev-parse --verify fourth)"
 +'
 +
 +test_expect_success 'cherry-pick -n first..fourth works' '
 +      git checkout -f master &&
 +      git reset --hard first &&
 +      test_tick &&
 +      git cherry-pick -n first..fourth &&
 +      git diff --quiet other &&
 +      git diff --cached --quiet other &&
 +      git diff --quiet HEAD first
 +'
 +
 +test_expect_success 'revert first..fourth works' '
 +      git checkout -f master &&
 +      git reset --hard fourth &&
 +      test_tick &&
 +      git revert first..fourth &&
 +      git diff --quiet first &&
 +      git diff --cached --quiet first &&
 +      git diff --quiet HEAD first
 +'
 +
 +test_expect_success 'revert ^first fourth works' '
 +      git checkout -f master &&
 +      git reset --hard fourth &&
 +      test_tick &&
 +      git revert ^first fourth &&
 +      git diff --quiet first &&
 +      git diff --cached --quiet first &&
 +      git diff --quiet HEAD first
 +'
 +
 +test_expect_success 'revert fourth fourth~1 fourth~2 works' '
 +      git checkout -f master &&
 +      git reset --hard fourth &&
 +      test_tick &&
 +      git revert fourth fourth~1 fourth~2 &&
 +      git diff --quiet first &&
 +      git diff --cached --quiet first &&
 +      git diff --quiet HEAD first
 +'
 +
++test_expect_success 'cherry-pick -3 fourth works' '
 +      git checkout -f master &&
 +      git reset --hard first &&
 +      test_tick &&
 +      git cherry-pick -3 fourth &&
 +      git diff --quiet other &&
 +      git diff --quiet HEAD other &&
 +      test "$(git rev-parse --verify HEAD)" != "$(git rev-parse --verify fourth)"
 +'
 +
 +test_expect_success 'cherry-pick --stdin works' '
 +      git checkout -f master &&
 +      git reset --hard first &&
 +      test_tick &&
 +      git rev-list --reverse first..fourth | git cherry-pick --stdin &&
 +      git diff --quiet other &&
 +      git diff --quiet HEAD other &&
 +      test "$(git rev-parse --verify HEAD)" != "$(git rev-parse --verify fourth)"
 +'
 +
 +test_done