summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2009-11-22 16:28:06 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2009-11-22 16:28:06 -0800
commitc50230f75109677d7adf0bd94f99d17f35a519a6 (patch)
tree58d077c474e804bbd40133505fa0ee8d72c4a28d /Documentation
parentlog --format: document %w (diff)
parentrebase docs: clarify --merge and --strategy (diff)
downloadtgif-c50230f75109677d7adf0bd94f99d17f35a519a6.tar.xz
Merge branch 'tr/maint-merge-ours-clarification' (early part)
* 'tr/maint-merge-ours-clarification' (early part): rebase docs: clarify --merge and --strategy Documentation: clarify 'ours' merge strategy
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/git-rebase.txt16
-rw-r--r--Documentation/merge-strategies.txt5
2 files changed, 16 insertions, 5 deletions
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 33e0ef1f6d..ca5e1e8653 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -228,13 +228,23 @@ OPTIONS
Use merging strategies to rebase. When the recursive (default) merge
strategy is used, this allows rebase to be aware of renames on the
upstream side.
++
+Note that a rebase merge works by replaying each commit from the working
+branch on top of the <upstream> branch. Because of this, when a merge
+conflict happens, the side reported as 'ours' is the so-far rebased
+series, starting with <upstream>, and 'theirs' is the working branch. In
+other words, the sides are swapped.
-s <strategy>::
--strategy=<strategy>::
Use the given merge strategy.
- If there is no `-s` option, a built-in list of strategies
- is used instead ('git-merge-recursive' when merging a single
- head, 'git-merge-octopus' otherwise). This implies --merge.
+ If there is no `-s` option 'git-merge-recursive' is used
+ instead. This implies --merge.
++
+Because 'git-rebase' replays each commit from the working branch
+on top of the <upstream> branch using the given strategy, using
+the 'ours' strategy simply discards all patches from the <branch>,
+which makes little sense.
-q::
--quiet::
diff --git a/Documentation/merge-strategies.txt b/Documentation/merge-strategies.txt
index 4365b7e842..42910a3d5e 100644
--- a/Documentation/merge-strategies.txt
+++ b/Documentation/merge-strategies.txt
@@ -29,8 +29,9 @@ octopus::
pulling or merging more than one branch.
ours::
- This resolves any number of heads, but the result of the
- merge is always the current branch head. It is meant to
+ This resolves any number of heads, but the resulting tree of the
+ merge is always that of the current branch head, effectively
+ ignoring all changes from all other branches. It is meant to
be used to supersede old development history of side
branches.