]> git.ipfire.org Git - thirdparty/git.git/commitdiff
docs: clarify what git-rebase's "-p" / "--preserve-merges" does
authorSebastian Schuberth <sschuberth@gmail.com>
Mon, 30 Mar 2015 09:29:46 +0000 (11:29 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 30 Mar 2015 20:44:29 +0000 (13:44 -0700)
Ignoring a merge can be read as ignoring the changes a merge commit
introduces altogether, as if the entire side branch the merge commit
merged was removed from the history.  But that is not what happens
if "-p" is not specified.  What happens is that the individual
commits a merge commit introduces are replayed in order, and only
any possible merge conflict resolutions or manual amendments to the
merge commit are ignored.

Get this straight in the docs.

Also, do not say that merge commits are *tried* to be recreated. As that is
true almost everywhere it is better left unsaid.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-rebase.txt

index 2a93c645bdb62c28ac9315659b794aa1d3932a4b..be15b7687112e7984353e3caae4b3870502f580b 100644 (file)
@@ -358,7 +358,9 @@ unless the `--fork-point` option is specified.
 
 -p::
 --preserve-merges::
-       Instead of ignoring merges, try to recreate them.
+       Recreate merge commits instead of flattening the history by replaying
+       commits a merge commit introduces. Merge conflict resolutions or manual
+       amendments to merge commits are not preserved.
 +
 This uses the `--interactive` machinery internally, but combining it
 with the `--interactive` option explicitly is generally not a good