git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Vas Sudanagunta <vas@commonkarma.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: Phillip Wood <phillip.wood123@gmail.com>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>,
	git@vger.kernel.org
Subject: Re: [PATCH 1/1] Let rebase.reschedulefailedexec only affect interactive rebases
Date: Fri, 28 Jun 2019 19:52:59 -0400	[thread overview]
Message-ID: <5862CF8D-2D4E-40B4-81A1-4BA9B59AC52E@commonkarma.org> (raw)
In-Reply-To: <xmqq4l498irq.fsf@gitster-ct.c.googlers.com>

Hi, original reporter of the issue here. Some thoughts from a user perspective, from outside the black box of “the machinery":


It seems unintuitive that including a command to execute between each rebase merge implies an interactive rebase. It’s no more interactive than a sequence of rebase merges without intervening commands. A command failure interrupts a rebase just as a merge conflict does. If the fact that a rebase can be interrupts mid-sequence, then all rebases are interactive. 

The intuitive behavior for “rebase.reschedulefailedexec” is that it has no impact if nothing is scheduled.  It has nothing to do with interactivity. 

vas



On Jun 28, 2019, at 6:08 PM, Junio C Hamano <gitster@pobox.com> wrote:

Phillip Wood <phillip.wood123@gmail.com> writes:

>>> I wonder if users understand that '-x' is "an interctive rebase".
>>> The documentation can read both ways, and one of these may want to
>>> be clarified.
>>> 
>>> 	-x <cmd>, --exec <cmd>
>>> 	...
>>> 	This uses the --interactive machinery internally, but it can
>>> 	be run without an explicit --interactive.
>>> 
>>> Is it saying that use of interactive machinery is an impelementation
>>> detail the users should not concern themselves (in which case, the
>>> message given to "die()" above is misleading---not a new problem
>>> with this patch, though)?  Is it saying "-x" makes it plenty clear
>>> that the user wants interactive behaviour, so the users do not need
>>> to spell out --interactive in order to ask for it (in which case,
>>> "die()" message is fine, but "... internally, but ..." is
>>> misleading)?
>> 
>> Hmm. What would you think about:
>> 
>>   		die(_("--reschedule-failed-exec requires --exec or --interactive"));

I was leaning towards admitting that the use of the interactive
machinery in "-x" is not merely an implementation detail and fixing
the documentation, leaving the die() message in the patch as-is.

But ...

> I was wondering about requiring --exec with --reschedule-failed-exec
> rather than checking is_interactive() as that would be easier to
> understand.

... I find this a reasonable way to think about the issue.  The
option only matters when we are doing "--exec".  And the usual
convenience measure we'd use, i.e. with --reschedule-failed-exec we
consider that we are implicitly in --exec mode, would not work
because there is no default "command" to be executed.

> One potential problem is if someone has an alias that
> always sets --reschedule-failed-exec but does not always add --exec to
> the command line.

Such a use case would be hitting this die() already without this
topic, wouldn't it?  In which case we can say there is no "someone"
with such an alias.


  reply	other threads:[~2019-06-28 23:53 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-27  8:12 [PATCH 0/1] Make rebase.reschedulefailedexec less overzealous Johannes Schindelin via GitGitGadget
2019-06-27  8:12 ` [PATCH 1/1] Let rebase.reschedulefailedexec only affect interactive rebases Johannes Schindelin via GitGitGadget
2019-06-27 18:32   ` Junio C Hamano
2019-06-28 11:49     ` Johannes Schindelin
2019-06-28 13:44       ` Phillip Wood
2019-06-28 22:08         ` Junio C Hamano
2019-06-28 23:52           ` Vas Sudanagunta [this message]
2019-06-30 10:03           ` Phillip Wood
2019-07-01 11:52             ` Johannes Schindelin
     [not found]           ` <0F745CE4-3203-4447-B1D5-937CCDCC64C7@commonkarma.org>
2019-07-01 11:48             ` Johannes Schindelin
2019-07-01 11:49           ` Johannes Schindelin
2019-07-01 11:58 ` [PATCH v2 0/1] Make rebase.reschedulefailedexec less overzealous Johannes Schindelin via GitGitGadget
2019-07-01 11:58   ` [PATCH v2 1/1] rebase --am: ignore rebase.reschedulefailedexec Johannes Schindelin via GitGitGadget

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=5862CF8D-2D4E-40B4-81A1-4BA9B59AC52E@commonkarma.org \
    --to=vas@commonkarma.org \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=gitster@pobox.com \
    --cc=phillip.wood123@gmail.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).