mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
![Jeff King](/assets/img/avatar_default.png)
These are tests which are missing a link in their &&-chain, but in a way that probably does not effect the outcome of the test. Most of these are of the form: some_cmd >actual test_cmp expect actual The main point of the test is to verify the output, and a failure in some_cmd would probably be noticed by bogus output. But it is good for the tests to also confirm that "some_cmd" does not die unexpectedly after producing its output. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
93 lines
1.7 KiB
Bash
Executable file
93 lines
1.7 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='merge fast-forward and up to date'
|
|
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success setup '
|
|
>file &&
|
|
git add file &&
|
|
test_tick &&
|
|
git commit -m initial &&
|
|
git tag c0 &&
|
|
|
|
echo second >file &&
|
|
git add file &&
|
|
test_tick &&
|
|
git commit -m second &&
|
|
git tag c1 &&
|
|
git branch test &&
|
|
echo third >file &&
|
|
git add file &&
|
|
test_tick &&
|
|
git commit -m third &&
|
|
git tag c2
|
|
'
|
|
|
|
test_expect_success 'merge -s recursive up-to-date' '
|
|
|
|
git reset --hard c1 &&
|
|
test_tick &&
|
|
git merge -s recursive c0 &&
|
|
expect=$(git rev-parse c1) &&
|
|
current=$(git rev-parse HEAD) &&
|
|
test "$expect" = "$current"
|
|
|
|
'
|
|
|
|
test_expect_success 'merge -s recursive fast-forward' '
|
|
|
|
git reset --hard c0 &&
|
|
test_tick &&
|
|
git merge -s recursive c1 &&
|
|
expect=$(git rev-parse c1) &&
|
|
current=$(git rev-parse HEAD) &&
|
|
test "$expect" = "$current"
|
|
|
|
'
|
|
|
|
test_expect_success 'merge -s ours up-to-date' '
|
|
|
|
git reset --hard c1 &&
|
|
test_tick &&
|
|
git merge -s ours c0 &&
|
|
expect=$(git rev-parse c1) &&
|
|
current=$(git rev-parse HEAD) &&
|
|
test "$expect" = "$current"
|
|
|
|
'
|
|
|
|
test_expect_success 'merge -s ours fast-forward' '
|
|
|
|
git reset --hard c0 &&
|
|
test_tick &&
|
|
git merge -s ours c1 &&
|
|
expect=$(git rev-parse c0^{tree}) &&
|
|
current=$(git rev-parse HEAD^{tree}) &&
|
|
test "$expect" = "$current"
|
|
|
|
'
|
|
|
|
test_expect_success 'merge -s subtree up-to-date' '
|
|
|
|
git reset --hard c1 &&
|
|
test_tick &&
|
|
git merge -s subtree c0 &&
|
|
expect=$(git rev-parse c1) &&
|
|
current=$(git rev-parse HEAD) &&
|
|
test "$expect" = "$current"
|
|
|
|
'
|
|
|
|
test_expect_success 'merge fast-forward octopus' '
|
|
|
|
git reset --hard c0 &&
|
|
test_tick &&
|
|
git merge c1 c2 &&
|
|
expect=$(git rev-parse c2) &&
|
|
current=$(git rev-parse HEAD) &&
|
|
test "$expect" = "$current"
|
|
'
|
|
|
|
test_done
|