Skip to content

Commit

Permalink
read-tree -m: make error message for merging 0 trees less smart aleck
Browse files Browse the repository at this point in the history
"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>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
jnavila authored and gitster committed May 12, 2017
1 parent 6c48686 commit 9932242
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
2 changes: 1 addition & 1 deletion Documentation/git-read-tree.txt
Expand Up @@ -131,7 +131,7 @@ 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
fast-forward merge with 2 trees, or a 3-way merge if 3 or more trees are
provided.


Expand Down
5 changes: 3 additions & 2 deletions builtin/read-tree.c
Expand Up @@ -197,9 +197,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;
Expand Down

0 comments on commit 9932242

Please sign in to comment.