Provide 'git merge --abort' as a synonym to 'git reset --merge'
commit35d2fffdb857836cc46f5a4ada525a246ddd5e11
authorJohan Herland <johan@herland.net>
Tue, 9 Nov 2010 21:49:59 +0000 (9 22:49 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 17 Nov 2010 21:23:55 +0000 (17 13:23 -0800)
tree13a36b77e543efdcf0915f977d8fa23c3d7b3fe9
parent2a22c1b35d6110e72d86a2fac4b68dbad0905adb
Provide 'git merge --abort' as a synonym to 'git reset --merge'

Teach 'git merge' the --abort option, which verifies the existence of
MERGE_HEAD and then invokes 'git reset --merge' to abort the current
in-progress merge and attempt to reconstruct the pre-merge state.

The reason for adding this option is to provide a user interface for
aborting an in-progress merge that is consistent with the interface
for aborting a rebase ('git rebase --abort'), aborting the application
of a patch series ('git am --abort'), and aborting an in-progress notes
merge ('git notes merge --abort').

The patch includes documentation and testcases that explain and verify
the various scenarios in which 'git merge --abort' can run. The
testcases also document the cases in which 'git merge --abort' is
unable to correctly restore the pre-merge state (look for the '###'
comments towards the bottom of t/t7609-merge-abort.sh).

This patch has been improved by the following contributions:
- Jonathan Nieder: Move test documentation into test_description

Thanks-to: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-merge.txt
builtin/merge.c
t/t7609-merge-abort.sh [new file with mode: 0755]