@@ -70,6 +70,7 @@ test_expect_success 'setup' '
70
70
echo B1 >B &&
71
71
test_tick &&
72
72
git commit --fixup=HEAD -a &&
73
+ git tag B1 &&
73
74
test_tick &&
74
75
git commit --allow-empty -F - <<-EOF &&
75
76
amend! B
@@ -91,6 +92,7 @@ test_expect_success 'setup' '
91
92
echo B2 >B &&
92
93
test_tick &&
93
94
FAKE_COMMIT_AMEND="edited squash" git commit --squash=HEAD -a &&
95
+ git tag B2 &&
94
96
echo B3 >B &&
95
97
test_tick &&
96
98
git commit -a -F - <<-EOF &&
@@ -104,6 +106,7 @@ test_expect_success 'setup' '
104
106
$EMPTY
105
107
edited 3
106
108
EOF
109
+ git tag B3 &&
107
110
108
111
GIT_AUTHOR_NAME="Rebase Author" &&
109
112
GIT_AUTHOR_EMAIL="[email protected] " &&
@@ -171,20 +174,20 @@ test_expect_success 'skipping fixup -C after fixup gives correct message' '
171
174
'
172
175
173
176
test_expect_success ' sequence of fixup, fixup -C & squash --signoff works' '
174
- git checkout --detach branch &&
177
+ git checkout --detach B3 &&
175
178
FAKE_LINES="1 fixup 2 fixup_-C 3 fixup_-C 4 squash 5 fixup_-C 6" \
176
179
FAKE_COMMIT_AMEND=squashed \
177
180
FAKE_MESSAGE_COPY=actual-squash-message \
178
181
git -c commit.status=false rebase -ik --signoff A &&
179
- git diff-tree --exit-code --patch HEAD branch -- &&
182
+ git diff-tree --exit-code --patch HEAD B3 -- &&
180
183
test_cmp_rev HEAD^ A &&
181
184
test_i18ncmp "$TEST_DIRECTORY/t3437/expected-squash-message" \
182
185
actual-squash-message
183
186
'
184
187
185
188
test_expect_success ' first fixup -C commented out in sequence fixup fixup -C fixup -C' '
186
189
test_when_finished "test_might_fail git rebase --abort" &&
187
- git checkout branch && git checkout --detach branch~2 &&
190
+ git checkout --detach B2~ &&
188
191
git log -1 --pretty=format:%b >expected-message &&
189
192
FAKE_LINES="1 fixup 2 fixup_-C 3 fixup_-C 4" git rebase -i A &&
190
193
test_cmp_rev HEAD^ A &&
@@ -194,12 +197,11 @@ test_expect_success 'first fixup -C commented out in sequence fixup fixup -C fix
194
197
test_expect_success ' multiple fixup -c opens editor once' '
195
198
test_when_finished "test_might_fail git rebase --abort" &&
196
199
git checkout --detach A3 &&
197
- base=$(git rev-parse HEAD~4) &&
198
200
FAKE_COMMIT_MESSAGE="Modified-A3" \
199
201
FAKE_LINES="1 fixup_-C 2 fixup_-c 3 fixup_-c 4" \
200
202
EXPECT_HEADER_COUNT=4 \
201
- git rebase -i $base &&
202
- test_cmp_rev $base HEAD^ &&
203
+ git rebase -i A &&
204
+ test_cmp_rev HEAD^ A &&
203
205
get_author HEAD >actual-author &&
204
206
test_cmp expected-author actual-author &&
205
207
test 1 = $(git show | grep Modified-A3 | wc -l)
@@ -217,12 +219,12 @@ test_expect_success 'sequence squash, fixup & fixup -c gives combined message' '
217
219
'
218
220
219
221
test_expect_success ' fixup -C works upon --autosquash with amend!' '
220
- git checkout --detach branch &&
222
+ git checkout --detach B3 &&
221
223
FAKE_COMMIT_AMEND=squashed \
222
224
FAKE_MESSAGE_COPY=actual-squash-message \
223
225
git -c commit.status=false rebase -ik --autosquash \
224
226
--signoff A &&
225
- git diff-tree --exit-code --patch HEAD branch -- &&
227
+ git diff-tree --exit-code --patch HEAD B3 -- &&
226
228
test_cmp_rev HEAD^ A &&
227
229
test_i18ncmp "$TEST_DIRECTORY/t3437/expected-squash-message" \
228
230
actual-squash-message
0 commit comments