All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Rast <trast@student.ethz.ch>
To: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>
Cc: "Junio C Hamano" <gitster@pobox.com>, Baz <brian.ewins@gmail.com>,
	"Peter Krefting" <peter@softwolves.pp.se>,
	"Git Mailing List" <git@vger.kernel.org>,
	"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	"Björn Steinbrink" <B.Steinbrink@gmx.de>
Subject: Re: [PATCH] Re: Clarify documentation on the "ours" merge strategy.
Date: Thu, 12 Nov 2009 00:37:10 +0100	[thread overview]
Message-ID: <200911120037.11901.trast@student.ethz.ch> (raw)
In-Reply-To: <20091111213049.GJ27518@vidovic>

Nicolas Sebrecht wrote:
> The 11/11/09, Junio C Hamano wrote:
> > Thomas Rast <trast@student.ethz.ch> writes:
> > 
> > > ++
> > > +Because the sides in a rebase are swapped, using this strategy with
> > > +git-rebase is never a good idea.
> > 
> > Looking very good.
> 
> If this strategy is _never_ a good idea in this case, I tend to think
> that git should forbid this option, or at least, warn and refer to the
> documentation.

Then again, I'm not sure if resolve vs. recursive makes a difference
in a rebase.  Octopus is weird for a two-head merge, I'm not sure why
the docs even talk about it.  That would leave only subtree, which
indeed has its uses.  Should we add a note to that effect to
git-rebase.txt?  Like, say,

diff --git i/Documentation/git-rebase.txt w/Documentation/git-rebase.txt
index 33e0ef1..6e54a57 100644
--- i/Documentation/git-rebase.txt
+++ w/Documentation/git-rebase.txt
@@ -228,13 +228,19 @@ 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 in a rebase merge (hence merge conflict), the sides are
+swapped: "theirs" is the to-be-applied patch, and "ours" is the so-far
+rebased series, starting with <upstream>.
 
 -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.
++
+Due to the peculiarities of 'git-rebase' (see \--merge above) the only
+built-in strategy that is actually useful is 'subtree'.
 
 -q::
 --quiet::
diff --git i/Documentation/merge-strategies.txt w/Documentation/merge-strategies.txt
index 4365b7e..c1c3add 100644
--- i/Documentation/merge-strategies.txt
+++ w/Documentation/merge-strategies.txt
@@ -33,6 +33,9 @@ ours::
 	merge is always the current branch head.  It is meant to
 	be used to supersede old development history of side
 	branches.
++
+Because the sides in a rebase are swapped, using this strategy with
+'git-rebase' is never a good idea.
 
 subtree::
 	This is a modified recursive strategy. When merging trees A and

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

  reply	other threads:[~2009-11-11 23:38 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-02 12:26 git pull --rebase and losing commits Peter Krefting
2009-11-02 15:04 ` Thomas Rast
2009-11-02 21:34   ` Nanako Shiraishi
2009-11-02 15:10 ` Björn Steinbrink
2009-11-03  7:01   ` Peter Krefting
2009-11-03  9:52     ` Johannes Schindelin
2009-11-03 10:12       ` Peter Krefting
2009-11-11 14:03       ` [PATCH] Clarify documentation on the "ours" merge strategy Peter Krefting
2009-11-11 15:13         ` Baz
2009-11-11 20:35           ` Thomas Rast
2009-11-11 20:54             ` Baz
2009-11-11 21:02             ` Junio C Hamano
2009-11-11 21:30               ` [PATCH] " Nicolas Sebrecht
2009-11-11 23:37                 ` Thomas Rast [this message]
2009-11-12  7:55                   ` Junio C Hamano
2009-11-12  9:41                     ` Peter Krefting
2009-11-14  2:12                       ` Nanako Shiraishi
2009-11-15  9:10                         ` Junio C Hamano
2009-11-16  8:20                           ` Peter Krefting
2009-11-12  9:55                     ` Björn Steinbrink
2009-11-15 18:25                     ` [PATCH 0/3] Document and refuse rebase -s ours Thomas Rast
2009-11-15 18:25                       ` [PATCH 1/3] Documentation: clarify 'ours' merge strategy Thomas Rast
2009-11-15 18:25                       ` [PATCH 2/3] rebase docs: clarify --merge and --strategy Thomas Rast
2009-11-15 21:05                         ` Junio C Hamano
2009-11-15 21:11                           ` Thomas Rast
2009-11-15 18:25                       ` [PATCH 3/3] rebase: refuse to rebase with -s ours Thomas Rast
2009-11-15 18:39                         ` Sverre Rabbelier
2009-11-15 18:44                           ` Thomas Rast
2009-11-16 12:35                         ` Johannes Schindelin
2009-11-16 19:57                           ` Junio C Hamano
2009-11-16 21:25                             ` Johannes Schindelin
2009-11-16 21:45                               ` Junio C Hamano
2009-11-16 22:04                                 ` Sverre Rabbelier
2009-11-16 23:04                               ` A Large Angry SCM
2009-11-15 21:04                       ` [PATCH 0/3] Document and refuse rebase " Junio C Hamano
2009-11-15 21:13                         ` Thomas Rast
2009-11-03 10:12     ` git pull --rebase and losing commits Thomas Rast
2009-11-03  4:27 ` Randal L. Schwartz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200911120037.11901.trast@student.ethz.ch \
    --to=trast@student.ethz.ch \
    --cc=B.Steinbrink@gmx.de \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=brian.ewins@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=nicolas.s.dev@gmx.fr \
    --cc=peter@softwolves.pp.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.