summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Schuberth <sschuberth@gmail.com>2015-03-30 09:29:46 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-03-30 20:44:29 (GMT)
commitd50d31e8808261eccfa6bde826e5e63368e29573 (patch)
treee4c8d61c5e333a8bbb010313688aaa239c46d3c8
parent129260cbd42f2a9fb40055ac6ed32c7b75a5ec05 (diff)
downloadgit-d50d31e8808261eccfa6bde826e5e63368e29573.zip
git-d50d31e8808261eccfa6bde826e5e63368e29573.tar.gz
git-d50d31e8808261eccfa6bde826e5e63368e29573.tar.bz2
docs: clarify what git-rebase's "-p" / "--preserve-merges" does
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>
-rw-r--r--Documentation/git-rebase.txt4
1 files changed, 3 insertions, 1 deletions
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 2a93c64..be15b76 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -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