29
test_tick &&
30
git commit -m reverted-goodbye &&
31
git tag reverted-goodbye &&
32
+ git checkout goodbye &&
33
+ test_tick &&
34
+ GIT_AUTHOR_NAME="Another Author" \
35
+ GIT_AUTHOR_EMAIL="another.author@example.com" \
36
+ git commit --amend --no-edit -m amended-goodbye &&
37
+ test_tick &&
38
+ git tag amended-goodbye &&
39
40
git checkout -f skip-reference &&
41
echo moo > hello &&
92
93
test_debug 'gitk --all & sleep 1'
94
95
+test_expect_success 'correct advice upon picking empty commit' '
96
+ test_when_finished "git rebase --abort" &&
97
+ test_must_fail git rebase -i --onto goodbye \
98
+ amended-goodbye^ amended-goodbye 2>err &&
99
+ test_i18ngrep "previous cherry-pick is now empty" err &&
100
+ test_i18ngrep "git cherry-pick --skip" err &&
101
+ test_must_fail git commit &&
102
+ test_i18ngrep "git cherry-pick --skip" err
103
+'
104
+
105
+test_expect_success 'correct authorship when committing empty pick' '
106
+ test_when_finished "git rebase --abort" &&
107
+ test_must_fail git rebase -i --onto goodbye \
108
+ amended-goodbye^ amended-goodbye &&
109
+ git commit --allow-empty &&
110
+ git log --pretty=format:"%an <%ae>%n%ad%B" -1 amended-goodbye >expect &&
111
+ git log --pretty=format:"%an <%ae>%n%ad%B" -1 HEAD >actual &&
112
+ test_cmp expect actual
113
+'
114
+
115
+test_expect_success 'correct advice upon rewording empty commit' '
116
+ test_when_finished "git rebase --abort" &&
117
+ (
118
+ set_fake_editor &&
119
+ test_must_fail env FAKE_LINES="reword 1" git rebase -i \
120
+ --onto goodbye amended-goodbye^ amended-goodbye 2>err
121
+ ) &&
122
+ test_i18ngrep "previous cherry-pick is now empty" err &&
123
+ test_i18ngrep "git cherry-pick --skip" err &&
124
+ test_must_fail git commit &&
125
+ test_i18ngrep "git cherry-pick --skip" err
126
+'
127
+
128
+test_expect_success 'correct advice upon editing empty commit' '
129
+ test_when_finished "git rebase --abort" &&
130
+ (
131
+ set_fake_editor &&
132
+ test_must_fail env FAKE_LINES="edit 1" git rebase -i \
133
+ --onto goodbye amended-goodbye^ amended-goodbye 2>err
134
+ ) &&
135
+ test_i18ngrep "previous cherry-pick is now empty" err &&
136
+ test_i18ngrep "git cherry-pick --skip" err &&
137
+ test_must_fail git commit &&
138
+ test_i18ngrep "git cherry-pick --skip" err
139
+'
140
+
141
test_expect_success 'fixup that empties commit fails' '
142
test_when_finished "git rebase --abort" &&
143
(