Thread (8 messages) flat view 8 messages, 3 authors, 2016-06-15

Re: [PATCH 1/2] pull: respect rebase.autostash

From: Phil Hord <hidden>
Date: 2016-06-15 22:57:44

On Fri, Jun 14, 2013 at 8:29 AM, John Keeping [off-list ref] wrote:
On Fri, Jun 14, 2013 at 08:12:56AM -0400, Phil Hord wrote:
quoted
On Fri, Jun 14, 2013 at 4:56 AM, Ramkumar Ramachandra
[off-list ref] wrote:
quoted
If a rebasing pull is requested, pull unconditionally runs
require_clean_worktree() resulting in:

  # dirty worktree or index
  $ git pull
  Cannot pull with rebase: Your index contains uncommitted changes.
  Please commit or stash them.

It does this to inform the user early on that a rebase cannot be run on
a dirty worktree, and that a stash is required.  However,
rr/rebase-autostash lifts this limitation on rebase by providing a way
to automatically stash using the rebase.autostash configuration
variable.  Read this variable in pull, and take advantage of this
feature.
This commit message does not tell me what this commit does.  It mostly
describes the current situation.  Then it refers to something called
"rr/rebase-autostash" which will lose meaning in the future when this
commit is no longer current on the list.  A better way to refer to
this commit is to say "this commit".  However, even this is not the
norm for this project.  The norm here is to avoid such noise by
speaking in the imperative mood.  That is, do not tell me what this
commit does; instead, tell the code what to do.  See
Documentation/SubmittingPatches:
It seems to me that Ram's message is already in the imperative.  The
only (slight) issue is that rr/rebase-autostash will become hard to find
once Junio cleans up feature branches that have graduated.  Since that
branch has graduated to master, it would be clearer to refer to commit
5879477 (rebase: implement --[no-]autostash and rebase.autostash,
2013-05-12).  Is something like this clearer?

    "git pull" currently cannot be used with the "autostash" feature
    added to "git rebase" by commit 5879477 (rebase: implement
    --[no-]autostash and rebase.autostash, 2013-05-12) because it
    unconditionally calls requre_clean_worktree early on, which results
    in:

        # dirty worktree or index
        $ git pull
        Cannot pull with rebase: Your index contains uncommitted changes.
        Please commit or stash them.

    Remove this restriction by skipping the call to
    require_clean_worktree if the "rebase.autostash" configuration
    variable is set.

Yes, thanks.   I was mislead by my poor understanding all the players
involved.  This disambiguates things nicely.

Phil
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help