253
test_cmp expected actual
254
'
255
256
+test_expect_success 'failed revert sets REVERT_HEAD' '
257
+ pristine_detach initial &&
258
+ test_must_fail git revert picked &&
259
+ test_cmp_rev picked REVERT_HEAD
260
+'
261
+
262
+test_expect_success 'successful revert does not set REVERT_HEAD' '
263
+ pristine_detach base &&
264
+ git revert base &&
265
+ test_must_fail git rev-parse --verify CHERRY_PICK_HEAD &&
266
+ test_must_fail git rev-parse --verify REVERT_HEAD
267
+'
268
+
269
+test_expect_success 'revert --no-commit sets REVERT_HEAD' '
270
+ pristine_detach base &&
271
+ git revert --no-commit base &&
272
+ test_must_fail git rev-parse --verify CHERRY_PICK_HEAD &&
273
+ test_cmp_rev base REVERT_HEAD
274
+'
275
+
276
+test_expect_success 'revert w/dirty tree does not set REVERT_HEAD' '
277
+ pristine_detach base &&
278
+ echo foo > foo &&
279
+ test_must_fail git revert base &&
280
+ test_must_fail git rev-parse --verify CHERRY_PICK_HEAD &&
281
+ test_must_fail git rev-parse --verify REVERT_HEAD
282
+'
283
+
284
+test_expect_success 'GIT_CHERRY_PICK_HELP does not suppress REVERT_HEAD' '
285
+ pristine_detach initial &&
286
+ (
287
+ GIT_CHERRY_PICK_HELP="and then do something else" &&
288
+ GIT_REVERT_HELP="and then do something else, again" &&
289
+ export GIT_CHERRY_PICK_HELP GIT_REVERT_HELP &&
290
+ test_must_fail git revert picked
291
+ ) &&
292
+ test_must_fail git rev-parse --verify CHERRY_PICK_HEAD &&
293
+ test_cmp_rev picked REVERT_HEAD
294
+'
295
+
296
+test_expect_success 'git reset clears REVERT_HEAD' '
297
+ pristine_detach initial &&
298
+ test_must_fail git revert picked &&
299
+ git reset &&
300
+ test_must_fail git rev-parse --verify REVERT_HEAD
301
+'
302
+
303
+test_expect_success 'failed commit does not clear REVERT_HEAD' '
304
+ pristine_detach initial &&
305
+ test_must_fail git revert picked &&
306
+ test_must_fail git commit &&
307
+ test_cmp_rev picked REVERT_HEAD
308
+'
309
+
310
test_expect_success 'revert conflict, diff3 -m style' '
311
pristine_detach initial &&
312
git config merge.conflictstyle diff3 &&