t3404: Set up more of the test repo in the "setup" step
...and reuse these pre-created branches in tests rather than creating duplicates. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a25eb13909
commit
6c4c44c458
@ -14,15 +14,20 @@ that the result still makes sense.
|
|||||||
|
|
||||||
set_fake_editor
|
set_fake_editor
|
||||||
|
|
||||||
# set up two branches like this:
|
# Set up the repository like this:
|
||||||
#
|
#
|
||||||
# A - B - C - D - E (master)
|
# one - two - three - four (conflict-branch)
|
||||||
|
# /
|
||||||
|
# A - B - C - D - E (master)
|
||||||
|
# | \
|
||||||
|
# | F - G - H (branch1)
|
||||||
|
# | \
|
||||||
|
# \ I (branch2)
|
||||||
# \
|
# \
|
||||||
# F - G - H (branch1)
|
# J - K - L - M (no-conflict-branch)
|
||||||
# \
|
|
||||||
# I (branch2)
|
|
||||||
#
|
#
|
||||||
# where A, B, D and G touch the same file.
|
# where A, B, D and G all touch file1, and one, two, three, four all
|
||||||
|
# touch file "conflict".
|
||||||
|
|
||||||
test_expect_success 'setup' '
|
test_expect_success 'setup' '
|
||||||
test_commit A file1 &&
|
test_commit A file1 &&
|
||||||
@ -36,9 +41,20 @@ test_expect_success 'setup' '
|
|||||||
test_commit H file5 &&
|
test_commit H file5 &&
|
||||||
git checkout -b branch2 F &&
|
git checkout -b branch2 F &&
|
||||||
test_commit I file6
|
test_commit I file6
|
||||||
|
git checkout -b conflict-branch A &&
|
||||||
|
for n in one two three four
|
||||||
|
do
|
||||||
|
test_commit $n conflict
|
||||||
|
done &&
|
||||||
|
git checkout -b no-conflict-branch A &&
|
||||||
|
for n in J K L M
|
||||||
|
do
|
||||||
|
test_commit $n file$n
|
||||||
|
done
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'no changes are a nop' '
|
test_expect_success 'no changes are a nop' '
|
||||||
|
git checkout branch2 &&
|
||||||
git rebase -i F &&
|
git rebase -i F &&
|
||||||
test "$(git symbolic-ref -q HEAD)" = "refs/heads/branch2" &&
|
test "$(git symbolic-ref -q HEAD)" = "refs/heads/branch2" &&
|
||||||
test $(git rev-parse I) = $(git rev-parse HEAD)
|
test $(git rev-parse I) = $(git rev-parse HEAD)
|
||||||
@ -97,7 +113,7 @@ cat > expect2 << EOF
|
|||||||
D
|
D
|
||||||
=======
|
=======
|
||||||
G
|
G
|
||||||
>>>>>>> 91201e5... G
|
>>>>>>> 51047de... G
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_expect_success 'stop on conflicting pick' '
|
test_expect_success 'stop on conflicting pick' '
|
||||||
@ -293,12 +309,7 @@ test_expect_success 'squash ignores blank lines' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'squash works as expected' '
|
test_expect_success 'squash works as expected' '
|
||||||
for n in one two three four
|
git checkout -b squash-works no-conflict-branch &&
|
||||||
do
|
|
||||||
echo $n >> file$n &&
|
|
||||||
git add file$n &&
|
|
||||||
git commit -m $n
|
|
||||||
done &&
|
|
||||||
one=$(git rev-parse HEAD~3) &&
|
one=$(git rev-parse HEAD~3) &&
|
||||||
FAKE_LINES="1 squash 3 2" EXPECT_HEADER_COUNT=2 \
|
FAKE_LINES="1 squash 3 2" EXPECT_HEADER_COUNT=2 \
|
||||||
git rebase -i HEAD~3 &&
|
git rebase -i HEAD~3 &&
|
||||||
@ -306,12 +317,7 @@ test_expect_success 'squash works as expected' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'interrupted squash works as expected' '
|
test_expect_success 'interrupted squash works as expected' '
|
||||||
for n in one two three four
|
git checkout -b interrupted-squash conflict-branch &&
|
||||||
do
|
|
||||||
echo $n >> conflict &&
|
|
||||||
git add conflict &&
|
|
||||||
git commit -m $n
|
|
||||||
done &&
|
|
||||||
one=$(git rev-parse HEAD~3) &&
|
one=$(git rev-parse HEAD~3) &&
|
||||||
(
|
(
|
||||||
FAKE_LINES="1 squash 3 2" &&
|
FAKE_LINES="1 squash 3 2" &&
|
||||||
@ -328,12 +334,7 @@ test_expect_success 'interrupted squash works as expected' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'interrupted squash works as expected (case 2)' '
|
test_expect_success 'interrupted squash works as expected (case 2)' '
|
||||||
for n in one two three four
|
git checkout -b interrupted-squash2 conflict-branch &&
|
||||||
do
|
|
||||||
echo $n >> conflict &&
|
|
||||||
git add conflict &&
|
|
||||||
git commit -m $n
|
|
||||||
done &&
|
|
||||||
one=$(git rev-parse HEAD~3) &&
|
one=$(git rev-parse HEAD~3) &&
|
||||||
(
|
(
|
||||||
FAKE_LINES="3 squash 1 2" &&
|
FAKE_LINES="3 squash 1 2" &&
|
||||||
|
Loading…
Reference in New Issue
Block a user