git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Philip Oakley <philipoakley@iee.org>
Cc: GitList <git@vger.kernel.org>
Subject: Re: [RFC/PATCH 1/2] Doc rebase: Describe rebase as excluding merge commits
Date: Sun, 19 May 2013 11:08:04 -0700	[thread overview]
Message-ID: <20130519180804.GE3362@elie.Belkin> (raw)
In-Reply-To: <1368964329-1600-2-git-send-email-philipoakley@iee.org>

Philip Oakley wrote:

> Describe rebase in the description section.

It already does that. :)  I think you mean "start with a summary",
which is a valuable improvement.

> Include a softer paraphrased version from the crytic, well-loved,
> but sometimes parodied, Name description, and tell users that merge
> commits are excluded by default.

I don't really follow this paragraph.  Are you saying "The NAME line
is cryptic, but let's copy it anyway, since it is better than nothing"?

[...]
> --- a/Documentation/git-rebase.txt
> +++ b/Documentation/git-rebase.txt
> @@ -16,6 +16,10 @@ SYNOPSIS
>  
>  DESCRIPTION
>  -----------
> +'git rebase' will transfer local commits, excluding merge commits
> +by default, to the head of the branch's upstream, or onto a new base
> +if given.
> +

Not about this patch, but some day it would be nice to standardize on
one tense for the DESCRIPTION sections of manpages.  Some git commands
use the imperative ("Reply local commits, excluding merge commits, on
top of ..."), some use the present indicative ("Replays local commits,
excluding merge commits, ..."), and some use the future ("Will replay
local commits, excluding merge commits, ...").

The traditional tense for Unix manpages is the present indicative.
But you are right to match the rest of the description here.

>  If <branch> is specified, 'git rebase' will perform an automatic
>  `git checkout <branch>` before doing anything else.  Otherwise
>  it remains on the current branch.

The description has become very long by now.  I wonder if it's
possible to break it into chunks, like so?

	DESCRIPTION
	-----------
	<brief description of the purpose of the command, including some token
	mention of *why* a user would want to use it (e.g., "so that the patches
	apply cleanly to their new base").>

	It proceeds using the following steps:

	 1. If <branch> is specified, ...
	 2. Decides which commits will need to be applied.
	    These are plain, non-merge commits that are ancestors of HEAD but
	    not of <upstream>.
	 3. Checks out <upstream>.  (<Explanation that technically it
	    detaches HEAD at this step.>)
	 4. Reapplies the commits listed on step (2), one by one, in order.
	    If merge failures are encountered, the program will exit and allow
	    the user to resolve them and resume or cancel the rebase.  See
	    the RESPONDING TO MERGE CONFLICTS section below for details.
	 5. Once all of the commits from step (2) have been applied, updates
	    <branch> to point to the new HEAD.

	The result is an updated <branch> that ...

	OPTIONS
	-------
	...

	EXAMPLES
	--------
	Assume the following history exists and the current branch is "topic":
	...

Description of specific options like "--preserve-merges" and "--onto"
could move out of the DESCRIPTION section and to the OPTIONS section.

What do you think?

Thanks,
Jonathan

  reply	other threads:[~2013-05-19 18:08 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-19 11:52 [RFC/PATCH 0/2] Improve rebase documenation Philip Oakley
2013-05-19 11:52 ` [RFC/PATCH 1/2] Doc rebase: Describe rebase as excluding merge commits Philip Oakley
2013-05-19 18:08   ` Jonathan Nieder [this message]
2013-05-19 22:41     ` Philip Oakley
2013-05-20  4:43     ` Junio C Hamano
2013-05-20 21:55       ` Philip Oakley
2013-05-20 22:29         ` Junio C Hamano
2013-05-19 11:52 ` [RFC/PATCH 2/2] Doc rebase: describe the priority of published work Philip Oakley

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=20130519180804.GE3362@elie.Belkin \
    --to=jrnieder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=philipoakley@iee.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).