merge-options.txt: clarify meaning of various ff-related options

As discovered on the mailing list, some of the descriptions of the ff-related options were unclear. Try to be more precise with what these options do. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Elijah Newren committed Aug 30, 2019 at 17:23 UTC 27fd1e4ea70f3787c016f3b7ab75c52aa11a753d
1 file changed +16 -12
Documentation/merge-options.txt
+16 -12
@@ -40,20 +40,24 @@ set to `no` at the beginning of them.
40 case of a merge conflict.
41
42 --ff::
43 - When the merge resolves as a fast-forward, only update the branch
44 - pointer, without creating a merge commit. This is the default
45 - behavior.
46 -
43 --no-ff::
48 - Create a merge commit even when the merge resolves as a
49 - fast-forward. This is the default behaviour when merging an
50 - annotated (and possibly signed) tag that is not stored in
51 - its natural place in 'refs/tags/' hierarchy.
52 -
44 --ff-only::
54 - Refuse to merge and exit with a non-zero status unless the
55 - current `HEAD` is already up to date or the merge can be
56 - resolved as a fast-forward.
45 + Specifies how a merge is handled when the merged-in history is
46 + already a descendant of the current history. `--ff` is the
47 + default unless merging an annotated (and possibly signed) tag
48 + that is not stored in its natural place in the `refs/tags/`
49 + hierarchy, in which case `--no-ff` is assumed.
50 ++
51 +With `--ff`, when possible resolve the merge as a fast-forward (only
52 +update the branch pointer to match the merged branch; do not create a
53 +merge commit). When not possible (when the merged-in history is not a
54 +descendant of the current history), create a merge commit.
55 ++
56 +With `--no-ff`, create a merge commit in all cases, even when the merge
57 +could instead be resolved as a fast-forward.
58 ++
59 +With `--ff-only`, resolve the merge as a fast-forward when possible.
60 +When not possible, refuse to merge and exit with a non-zero status.
61
62 -S[<keyid>]::
63 --gpg-sign[=<keyid>]::