git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Ben Wijen <ben@wijen.net>,
	git@vger.kernel.org, Pratik Karki <predatoramigo@gmail.com>,
	Phillip Wood <phillip.wood123@gmail.com>,
	Eric Sunshine <sunshine@sunshineco.com>
Subject: Re: [PATCH v4 1/1] rebase.c: make sure the active branch isn't moved when autostashing
Date: Wed, 28 Aug 2019 09:03:58 -0700	[thread overview]
Message-ID: <xmqq8srd1dld.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <xmqqh8611eza.fsf@gitster-ct.c.googlers.com> (Junio C. Hamano's message of "Wed, 28 Aug 2019 08:34:01 -0700")

Junio C Hamano <gitster@pobox.com> writes:

> IIUC, the bug is twofold:
> ...
>  - A message is given only when the above happens.  When rebasing
> ...
>    That "reset --hard" is done only to clean the index and the
>    working tree and talking about "HEAD is now..." is a bug in its
>    context.

Actually, this "latter" bug can further be split into two

 * The "HEAD is now" is given only when autostash feature needs to
   clean the working tree, and we have never moved HEAD anyway.

 * The message does not indicate what we are rebuilding on top of.

and dealt with separately, so with that in mind the step that would
follow the first patch, i.e.

> ... update
> this patch to add logic to give a pointless and misleading "HEAD is
> now at..." message so that we will report the location of HEAD where
> the "rebase --autostash" command started at, to fix only the first
> bug.

may become different.  The fact that the "HEAD is now..." is given
only when autostash actually happens _might_ be taken as a feature
by some users---the location of HEAD reported by the message is
irrelevant to them (we know that as a fact---we have been reporting
a wrong commit all along anyway), but the single-bit "we got a
message" is a signal that "--autostash" had something valuable to
save.

So the second step may be to replace the "HEAD is now..." message we
add back (relative to Ben's patch under discussion) to the first
patch with a more direct "stashed away your local changes" message
(perhaps with diffstat???  I do not care about the details, as we
are talking about resurrecting one single useful bit of information
and extending it futher is beyond the scope of this analysis).

And the last point, i.e. "First, rewinding head to replay your
work..." does not give enough information to be truly useful, is a
totally separate bug (that Ben's patch does not even mention or
attempt to address), so we can leave it out of this analysis, too.

So, yeah, if we are to spend extra effort to polish Ben's patch
further while keeping the "fix things without making unnecessary
changes", I think the approach that takes least amount of effort may
not to make the code manually say "Head is at ...", but to add a new
message to report that autostash happened.  That fixes two bugs
(i.e. the original bug, and the "we autostashed" bit is reported in
a roundabout and misleading way via "HEAD is now at ...") in a
single patch ;-)


  reply	other threads:[~2019-08-28 16:04 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-18  9:53 [PATCH 0/2] git rebase: Make sure upstream branch is left alone Ben Wijen
2019-08-18  9:53 ` [PATCH 1/2] t3420: never change upstream branch Ben Wijen
2019-08-19 21:55   ` Junio C Hamano
2019-08-20  8:58   ` Phillip Wood
2019-08-18  9:53 ` [PATCH 2/2] rebase.c: make sure current branch isn't moved when autostashing Ben Wijen
2019-08-20  9:00   ` Phillip Wood
2019-08-20 19:53     ` Ben
2019-08-20 20:12   ` [PATCH v2 0/1] git rebase: Make sure upstream branch is left alone Ben Wijen
2019-08-20 20:12     ` [PATCH v2 1/1] rebase.c: make sure current branch isn't moved when autostashing Ben Wijen
2019-08-20 20:24       ` Eric Sunshine
2019-08-20 20:58       ` Junio C Hamano
2019-08-21 18:29     ` [PATCH v3 0/1] rebase.c: make sure the active " Ben Wijen
2019-08-21 18:29       ` [PATCH v3 1/1] " Ben Wijen
2019-08-22 12:27         ` Johannes Schindelin
2019-08-22 15:49           ` Junio C Hamano
2019-08-26 16:45       ` [PATCH v4 " Ben Wijen
2019-08-26 16:45         ` Ben Wijen
2019-08-26 17:10           ` SZEDER Gábor
2019-08-28 12:56         ` Johannes Schindelin
2019-08-28 15:34           ` Junio C Hamano
2019-08-28 16:03             ` Junio C Hamano [this message]
2019-08-29 16:47         ` [PATCH v5 0/2] rebase.c: make sure current " Ben Wijen
2019-08-29 16:47           ` [PATCH v5 1/2] builtin/rebase.c: make sure the active " Ben Wijen
2019-08-29 16:47           ` [PATCH v5 2/2] builtin/rebase.c: Remove pointless message Ben Wijen
2019-08-30 15:16           ` [PATCH v6 0/2] rebase.c: make sure current branch isn't moved when autostashing Ben Wijen
2019-08-30 15:16             ` [PATCH v6 1/2] builtin/rebase.c: make sure the active " Ben Wijen
2019-08-30 20:15               ` Junio C Hamano
2019-08-31  7:17                 ` Ben
2019-09-01 16:01                   ` Junio C Hamano
2019-09-01 16:27                     ` Ben
2019-09-02 17:33                       ` Junio C Hamano
2019-08-30 15:16             ` [PATCH v6 2/2] builtin/rebase.c: Remove pointless message Ben Wijen
2019-08-30 20:16               ` Junio C Hamano
2019-08-31  7:17                 ` Ben
2019-08-30 15:16             ` [PATCH " Ben Wijen
2019-08-19  9:26 ` [PATCH 0/2] git rebase: Make sure upstream branch is left alone Phillip Wood
2019-08-19 15:33   ` Ben
2019-08-19 18:21     ` Junio C Hamano

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=xmqq8srd1dld.fsf@gitster-ct.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=ben@wijen.net \
    --cc=git@vger.kernel.org \
    --cc=phillip.wood123@gmail.com \
    --cc=predatoramigo@gmail.com \
    --cc=sunshine@sunshineco.com \
    /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).