git-merge: add support for --commit and --no-squash

These options can be used to override --no-commit and --squash, which is
needed since --no-commit and --squash now can be specified as default merge
options in $GIT_DIR/config.

The change also introduces slightly different behavior for --no-commit:
when specified, it explicitly overrides --squash. Earlier,
'git merge --squash --no-commit' would result in a squashed merge (i.e. no
$GIT_DIR/MERGE_HEAD was created) but with this patch the command will
behave as if --squash hadn't been specified.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Lars Hjemli
2007-09-24 00:51:44 +02:00
committed by Junio C Hamano
parent aec7b362ad
commit d08af0ad74
3 changed files with 36 additions and 2 deletions

View File

@ -10,6 +10,10 @@
not autocommit, to give the user a chance to inspect and
further tweak the merge result before committing.
--commit::
Perform the merge and commit the result. This option can
be used to override --no-commit.
--squash::
Produce the working tree and index state as if a real
merge happened, but do not actually make a commit or
@ -19,6 +23,10 @@
top of the current branch whose effect is the same as
merging another branch (or more in case of an octopus).
--no-squash::
Perform the merge and commit the result. This option can
be used to override --squash.
-s <strategy>, \--strategy=<strategy>::
Use the given merge strategy; can be supplied more than
once to specify them in the order they should be tried.