git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jean-Noel Avila <jn.avila@free.fr>
To: git@vger.kernel.org
Cc: Jean-Noel Avila <jn.avila@free.fr>, Jonathan Nieder <jrnieder@gmail.com>
Subject: [PATCH v3 2/3] read-tree -m: make error message for merging 0 trees less smart aleck
Date: Thu, 11 May 2017 14:06:33 +0200	[thread overview]
Message-ID: <20170511120634.17683-2-jn.avila@free.fr> (raw)
In-Reply-To: <20170511120634.17683-1-jn.avila@free.fr>

"git read-tree -m" requires a tree argument to name the tree to be
merged in.  Git uses a cutesy error message to say so and why:

    $ git read-tree -m
    warning: read-tree: emptying the index with no arguments is
    deprecated; use --empty
    fatal: just how do you expect me to merge 0 trees?
    $ git read-tree -m --empty
    fatal: just how do you expect me to merge 0 trees?

When lucky, that could produce an ah-hah moment for the user, but it's
more likely to irritate and distract them.

Instead, tell the user plainly that the tree argument is
required. Also document this requirement in the git-read-tree(1)
manpage where there is room to explain it in a more straightforward way.

Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
 Documentation/git-read-tree.txt | 8 ++++----
 builtin/read-tree.c             | 7 ++++---
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt
index ed9d63ef4..97df00043 100644
--- a/Documentation/git-read-tree.txt
+++ b/Documentation/git-read-tree.txt
@@ -135,10 +135,10 @@ OPTIONS
 
 Merging
 -------
-If `-m` is specified, 'git read-tree' can perform 3 kinds of
-merge, a single tree merge if only 1 tree is given, a
-fast-forward merge with 2 trees, or a 3-way merge if 3 trees are
-provided.
+If `-m` is specified, at least one tree must be given on the command
+line. 'git read-tree' can perform 3 kinds of merge, a single tree
+merge if only 1 tree is given, a fast-forward merge with 2 trees, or a
+3-way merge if 3 or more trees are provided.
 
 
 Single Tree Merge
diff --git a/builtin/read-tree.c b/builtin/read-tree.c
index 23e212ee8..de1a58d17 100644
--- a/builtin/read-tree.c
+++ b/builtin/read-tree.c
@@ -132,7 +132,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
 		OPT_BOOL(0, "empty", &read_empty,
 			    N_("only empty the index")),
 		OPT__VERBOSE(&opts.verbose_update, N_("be verbose")),
-		OPT_GROUP(N_("Merging")),
+		OPT_GROUP(N_("Merging (needs at least one tree-ish")),
 		OPT_BOOL('m', NULL, &opts.merge,
 			 N_("perform a merge in addition to a read")),
 		OPT_BOOL(0, "trivial", &opts.trivial_merges_only,
@@ -226,9 +226,10 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
 		setup_work_tree();
 
 	if (opts.merge) {
-		if (stage < 2)
-			die("just how do you expect me to merge %d trees?", stage-1);
 		switch (stage - 1) {
+		case 0:
+			die(_("you must specify at least one tree to merge"));
+			break;
 		case 1:
 			opts.fn = opts.prefix ? bind_merge : oneway_merge;
 			break;
-- 
2.13.0


  reply	other threads:[~2017-05-11 12:06 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
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   ` Jean-Noel Avila [this message]
2017-05-11 19:08     ` [PATCH v3 2/3] read-tree -m: make error message for merging 0 trees less smart aleck 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=20170511120634.17683-2-jn.avila@free.fr \
    --to=jn.avila@free.fr \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@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).