git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jean-Noel Avila <jn.avila@free.fr>
Cc: git@vger.kernel.org, rashmipai36@gmail.com
Subject: Re: [PATCH v2 1/3] usability: don't ask questions if no reply is required
Date: Wed, 10 May 2017 20:16:21 -0700	[thread overview]
Message-ID: <xmqqa86kccca.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20170503210726.24121-1-jn.avila@free.fr> (Jean-Noel Avila's message of "Wed, 3 May 2017 23:07:24 +0200")

Jean-Noel Avila <jn.avila@free.fr> writes:

> diff --git a/builtin/am.c b/builtin/am.c
> index a95dd8b4e..f5afa438d 100644
> --- a/builtin/am.c
> +++ b/builtin/am.c
> @@ -1312,7 +1312,7 @@ static int parse_mail(struct am_state *state, const char *mail)
>  	}
>  
>  	if (is_empty_file(am_path(state, "patch"))) {
> -		printf_ln(_("Patch is empty. Was it split wrong?"));
> +		printf_ln(_("Patch is empty. It may have been split wrong."));
>  		die_user_resolve(state);
>  	}

While I do not belong to "we should feel free to ask rhetorical
questions" camp, I do not mind this particular rewrite.  An obvious
alternative is just to stop the sentence with "Patch is empty."

At this point in the code, we do not even know why we are seeing an
empty patch, and "perhaps it was incorrectly split" is not a
particularly useful idle speculation that would help the user who
sees it.

> @@ -1940,7 +1940,7 @@ static void am_resolve(struct am_state *state)
>  
>  	if (unmerged_cache()) {
>  		printf_ln(_("You still have unmerged paths in your index.\n"
> -			"Did you forget to use 'git add'?"));
> +			"You might want to use 'git add' on them."));

This case is *not* an "rhetorical question is the most succinct way
to convey the information" situation; I think this rewrite is a
definite improvement.  "You might want to 'git add' them" may be
more succinct, though.

> diff --git a/builtin/checkout.c b/builtin/checkout.c
> index bfa5419f3..05037b9b6 100644
> --- a/builtin/checkout.c
> +++ b/builtin/checkout.c
> @@ -1287,7 +1287,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
>  		 */
>  		if (opts.new_branch && argc == 1)
>  			die(_("Cannot update paths and switch to branch '%s' at the same time.\n"
> -			      "Did you intend to checkout '%s' which can not be resolved as commit?"),
> +			      "'%s' can not be resolved as commit, but it should."),

I am not sure a firm statement "but it should" is an improvement.
This message is given when the user says:

    $ git checkout -b newone naster

And "but it should" is appropriate when it is a mistyped "I want to
create and checkout 'newone' branch at the same commit as 'master'
branch", i.e.

    $ git checkout -b newone master

The reason why the message begins with "Cannot update paths and ..."
is because it could be a mistyped "I want to grab the file 'naster'
out of 'newone' branch", i.e. the user meant to say this:

    $ git checkout newone naster

IOW, the current error message is hedging its bets, because it does
not want to exclude the possibility that "-b" is there by mistake
(as opposed to 'naster' is the typo).

If we ignore that possibility and assume that 'naster' is the typo
(iow, the user did mean "-b"), then your updated message makes
sense.  But if we commit to "the user meant -b", we could make the
message even more helpful by being more direct, e.g.

	die("'%s' is not a commit and a branch '%s' cannot be created from it",
	    argv[0], opts.new_branch);

> diff --git a/help.c b/help.c
> index bc6cd19cf..4658a55c6 100644
> --- a/help.c
> +++ b/help.c
> @@ -411,8 +411,8 @@ const char *help_unknown_cmd(const char *cmd)
>  
>  	if (SIMILAR_ENOUGH(best_similarity)) {
>  		fprintf_ln(stderr,
> -			   Q_("\nDid you mean this?",
> -			      "\nDid you mean one of these?",
> +			   Q_("\nThe most approaching command is",
> +			      "\nThe most approaching commands are",
>  			   n));

With "closest" or "most similar", as others pointed out, I think
this may be an improvement.

Thanks.

  parent reply	other threads:[~2017-05-11  3:16 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-03 16:29 [PATCH 1/4] usability: don't ask questions if no reply is required Jean-Noel Avila
2017-05-03 16:29 ` [PATCH 2/4] usability: fix am and checkout for nevermind questions Jean-Noel Avila
2017-05-03 16:51   ` Jonathan Nieder
2017-05-03 18:35     ` Jean-Noël AVILA
2017-05-03 16:29 ` [PATCH 3/4] read-tree.c: rework UI when merging no trees Jean-Noel Avila
2017-05-03 17:04   ` Jonathan Nieder
2017-05-03 18:39     ` Jean-Noël AVILA
2017-05-03 16:29 ` [PATCH 4/4] git-filter-branch: be assertative on dying message Jean-Noel Avila
2017-05-03 17:07   ` Jonathan Nieder
2017-05-03 16:47 ` [PATCH 1/4] usability: don't ask questions if no reply is required Jonathan Nieder
2017-05-03 16:58   ` Stefan Beller
2017-05-03 17:37   ` Jean-Noël AVILA
2017-05-03 21:07 ` [PATCH v2 1/3] " Jean-Noel Avila
2017-05-03 21:07   ` [PATCH v2 2/3] read-tree -m: make error message for merging 0 trees less smart aleck Jean-Noel Avila
2017-05-11  3:46     ` Junio C Hamano
2017-05-11  4:31       ` [PATCH] read-tree: "read-tree -m --empty" does not make sense Junio C Hamano
2017-05-03 21:07   ` [PATCH v2 3/3] git-filter-branch: make the error msg when missing branch more open Jean-Noel Avila
2017-05-11  3:53     ` Junio C Hamano
2017-05-04  8:52   ` [PATCH v2 1/3] usability: don't ask questions if no reply is required Kerry, Richard
2017-05-04  9:09     ` Ævar Arnfjörð Bjarmason
2017-05-04 10:14       ` Kerry, Richard
2017-05-09  8:18         ` Jean-Noël AVILA
2017-05-09  9:21           ` Ævar Arnfjörð Bjarmason
2017-05-04  9:41     ` Jean-Noël AVILA
2017-05-11  3:16   ` Junio C Hamano [this message]
2017-05-11 10:10     ` Kerry, Richard
2017-05-11 10:28       ` Konstantin Khomoutov
2017-05-11 10:33         ` Ævar Arnfjörð Bjarmason
2017-05-11 12:06 ` [PATCH v3 " Jean-Noel Avila
2017-05-11 12:06   ` [PATCH v3 2/3] read-tree -m: make error message for merging 0 trees less smart aleck Jean-Noel Avila
2017-05-11 19:08     ` Jonathan Nieder
2017-05-12  6:28       ` Junio C Hamano
2017-05-12 12:54         ` Jean-Noël AVILA
2017-05-11 12:06   ` [PATCH v3 3/3] git-filter-branch: Jean-Noel Avila
2017-05-12  6:27     ` Junio C Hamano
2017-05-12 13:03 ` [PATCH v4 1/3] usability: don't ask questions if no reply is required Jean-Noel Avila
2017-05-12 13:03   ` [PATCH v4 2/3] read-tree -m: make error message for merging 0 trees less smart aleck Jean-Noel Avila
2017-05-12 13:03   ` [PATCH v4 3/3] git-filter-branch: be more direct in an error message Jean-Noel Avila
2017-05-12 22:36   ` [PATCH v4 1/3] usability: don't ask questions if no reply is required Junio C Hamano
2017-05-13 15:37     ` Johannes Sixt
2017-05-15  2:18       ` 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

  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=xmqqa86kccca.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=jn.avila@free.fr \
    --cc=rashmipai36@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).