Browse Source

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>
maint
Michael Haggerty 15 years ago committed by Junio C Hamano
parent
commit
6c4c44c458
  1. 51
      t/t3404-rebase-interactive.sh

51
t/t3404-rebase-interactive.sh

@ -14,15 +14,20 @@ that the result still makes sense. @@ -14,15 +14,20 @@ that the result still makes sense.

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)
# \
# I (branch2)
# J - K - L - M (no-conflict-branch)
#
# 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_commit A file1 &&
@ -36,9 +41,20 @@ test_expect_success 'setup' ' @@ -36,9 +41,20 @@ test_expect_success 'setup' '
test_commit H file5 &&
git checkout -b branch2 F &&
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' '
git checkout branch2 &&
git rebase -i F &&
test "$(git symbolic-ref -q HEAD)" = "refs/heads/branch2" &&
test $(git rev-parse I) = $(git rev-parse HEAD)
@ -97,7 +113,7 @@ cat > expect2 << EOF @@ -97,7 +113,7 @@ cat > expect2 << EOF
D
=======
G
>>>>>>> 91201e5... G
>>>>>>> 51047de... G
EOF

test_expect_success 'stop on conflicting pick' '
@ -293,12 +309,7 @@ test_expect_success 'squash ignores blank lines' ' @@ -293,12 +309,7 @@ test_expect_success 'squash ignores blank lines' '
'

test_expect_success 'squash works as expected' '
for n in one two three four
do
echo $n >> file$n &&
git add file$n &&
git commit -m $n
done &&
git checkout -b squash-works no-conflict-branch &&
one=$(git rev-parse HEAD~3) &&
FAKE_LINES="1 squash 3 2" EXPECT_HEADER_COUNT=2 \
git rebase -i HEAD~3 &&
@ -306,12 +317,7 @@ test_expect_success 'squash works as expected' ' @@ -306,12 +317,7 @@ test_expect_success 'squash works as expected' '
'

test_expect_success 'interrupted squash works as expected' '
for n in one two three four
do
echo $n >> conflict &&
git add conflict &&
git commit -m $n
done &&
git checkout -b interrupted-squash conflict-branch &&
one=$(git rev-parse HEAD~3) &&
(
FAKE_LINES="1 squash 3 2" &&
@ -328,12 +334,7 @@ test_expect_success 'interrupted squash works as expected' ' @@ -328,12 +334,7 @@ test_expect_success 'interrupted squash works as expected' '
'

test_expect_success 'interrupted squash works as expected (case 2)' '
for n in one two three four
do
echo $n >> conflict &&
git add conflict &&
git commit -m $n
done &&
git checkout -b interrupted-squash2 conflict-branch &&
one=$(git rev-parse HEAD~3) &&
(
FAKE_LINES="3 squash 1 2" &&

Loading…
Cancel
Save