threads / discuss / 45395

sequencer "edit" command always issues a warning

Subject: sequencer "edit" command always issues a warning

## tl;dr

4 messages between Mar 16, 2017 and Mar 17, 2017.

replies: 3people: 3as markdown or json

Jeff King· Mar 16, 2017, 13:15 UTC · lore

I was rebasing with the new built-in sequencer code today, and I was surprised to see the use of warning() here:

  $ git rebase -i
  [set one commit to 'edit']
  warning: stopped at 6ce6b914a... odb_pack_keep(): stop generating keepfile name
  You can amend the commit now, with
    [...more instructions...]

It alarmed me for a minute until I realized that no, this is nothing to be alarmed about, but just git doing exactly what I told it to do.

The original just wrote:
  Stopped at 6ce6b914a... odb_pack_keep(): stop generating keepfile name
It would be easy to switch back:
diff --git a/sequencer.c b/sequencer.c
index 1f729b053..8183a83c1 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -1997,7 +1997,8 @@ static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts)
 			if (item->command == TODO_EDIT) {
 				struct commit *commit = item->commit;
 				if (!res)
-					warning(_("stopped at %s... %.*s"),
+					fprintf(stderr,
+						_("Stopped at %s...  %.*s"),
 						short_commit_name(commit),
 						item->arg_len, item->arg);
 				return error_with_patch(commit,

and that would match most of the other messages that the command issues,
which use a bare fprintf() and start with a capital letter. But I'm not
sure if there was some reason to treat this one differently.

-Peff
Junio C Hamano· Mar 16, 2017, 22:29 UTC · re: Jeff King · lore

Re: sequencer "edit" command always issues a warning

Jeff King <peff@peff.net> writes:
Show 36 quoted lines
> I was rebasing with the new built-in sequencer code today, and I was
> surprised to see the use of warning() here:
>
>   $ git rebase -i
>   [set one commit to 'edit']
>   warning: stopped at 6ce6b914a... odb_pack_keep(): stop generating keepfile name
>   You can amend the commit now, with
>     [...more instructions...]
>
> It alarmed me for a minute until I realized that no, this is nothing to
> be alarmed about, but just git doing exactly what I told it to do.
>
> The original just wrote:
>
>   Stopped at 6ce6b914a... odb_pack_keep(): stop generating keepfile name
>
> It would be easy to switch back:
>
> diff --git a/sequencer.c b/sequencer.c
> index 1f729b053..8183a83c1 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -1997,7 +1997,8 @@ static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts)
>  			if (item->command == TODO_EDIT) {
>  				struct commit *commit = item->commit;
>  				if (!res)
> -					warning(_("stopped at %s... %.*s"),
> +					fprintf(stderr,
> +						_("Stopped at %s...  %.*s"),
>  						short_commit_name(commit),
>  						item->arg_len, item->arg);
>  				return error_with_patch(commit,
>
> and that would match most of the other messages that the command issues,
> which use a bare fprintf() and start with a capital letter. But I'm not
> sure if there was some reason to treat this one differently.

I doubt there was. At least, I didn't think I read any rationale for switching in logs or in-code comments.

If we stop due to conflicting changes during a "rebase -i" or a range "cherry-pick/revert" session, warning() might make sense, but I agree with you that stopping at "edit" is an expected thing. If we had info("stopped at...") that may be appropriate, but writing it out to stderr is just fine, I would think.

Thanks for spotting.
Johannes Schindelin· Mar 16, 2017, 22:59 UTC · re: Jeff King · lore

Re: sequencer "edit" command always issues a warning

Hi Peff,
On Thu, 16 Mar 2017, Jeff King wrote:
Show 36 quoted lines
> I was rebasing with the new built-in sequencer code today, and I was
> surprised to see the use of warning() here:
> 
>   $ git rebase -i
>   [set one commit to 'edit']
>   warning: stopped at 6ce6b914a... odb_pack_keep(): stop generating keepfile name
>   You can amend the commit now, with
>     [...more instructions...]
> 
> It alarmed me for a minute until I realized that no, this is nothing to
> be alarmed about, but just git doing exactly what I told it to do.
> 
> The original just wrote:
> 
>   Stopped at 6ce6b914a... odb_pack_keep(): stop generating keepfile name
> 
> It would be easy to switch back:
> 
> diff --git a/sequencer.c b/sequencer.c
> index 1f729b053..8183a83c1 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -1997,7 +1997,8 @@ static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts)
>  			if (item->command == TODO_EDIT) {
>  				struct commit *commit = item->commit;
>  				if (!res)
> -					warning(_("stopped at %s... %.*s"),
> +					fprintf(stderr,
> +						_("Stopped at %s...  %.*s"),
>  						short_commit_name(commit),
>  						item->arg_len, item->arg);
>  				return error_with_patch(commit,
> 
> and that would match most of the other messages that the command issues,
> which use a bare fprintf() and start with a capital letter. But I'm not
> sure if there was some reason to treat this one differently.

I do not recall why I chose warning(); probably just an oversight on my part. Your patch looks good.

Ciao, Dscho

Jeff King· Mar 17, 2017, 00:19 UTC · re: Johannes Schindelin · lore

Re: sequencer "edit" command always issues a warning

On Thu, Mar 16, 2017 at 11:59:35PM +0100, Johannes Schindelin wrote:
> I do not recall why I chose warning(); probably just an oversight on my
> part. Your patch looks good.
Thanks. Here it is with a commit message.

I agree with Junio that if we had "info()" it would perhaps be the right thing to use. We can go down that road later if we choose to.

-- >8 --
Subject: [PATCH] sequencer: drop "warning:" when stopping for edit

Since the conversion from shell to C in 56dc3ab04 (sequencer (rebase -i): implement the 'edit' command, 2017-01-02), stopping at an "edit" instruction went from:

  $ git rebase -i
  Stopped at 6ce6b914a... odb_pack_keep(): stop generating keepfile name
  You can amend the commit now, with
    [...more instructions...]
to:
  $ git rebase -i
  warning: stopped at 6ce6b914a... odb_pack_keep(): stop generating keepfile name
  You can amend the commit now, with
    [...more instructions...]

The "warning" implies that it's something unexpected, but it's not. Let's switch back to the original message.

Signed-off-by: Jeff King <peff@peff.net>
---
 sequencer.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sequencer.c b/sequencer.c
index 1f729b053..8183a83c1 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -1997,7 +1997,8 @@ static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts)
 			if (item->command == TODO_EDIT) {
 				struct commit *commit = item->commit;
 				if (!res)
-					warning(_("stopped at %s... %.*s"),
+					fprintf(stderr,
+						_("Stopped at %s...  %.*s"),
 						short_commit_name(commit),
 						item->arg_len, item->arg);
 				return error_with_patch(commit,
-- 
2.12.0.623.g86ec6c963

← back to recent threads