Skip to content

Commit 9932242

Browse files
jnavilagitster
authored andcommitted
read-tree -m: make error message for merging 0 trees less smart aleck
"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 <[email protected]> Helped-by: Jonathan Nieder <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 6c48686 commit 9932242

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

Documentation/git-read-tree.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ Merging
131131
-------
132132
If `-m` is specified, 'git read-tree' can perform 3 kinds of
133133
merge, a single tree merge if only 1 tree is given, a
134-
fast-forward merge with 2 trees, or a 3-way merge if 3 trees are
134+
fast-forward merge with 2 trees, or a 3-way merge if 3 or more trees are
135135
provided.
136136

137137

builtin/read-tree.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,10 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
197197
setup_work_tree();
198198

199199
if (opts.merge) {
200-
if (stage < 2)
201-
die("just how do you expect me to merge %d trees?", stage-1);
202200
switch (stage - 1) {
201+
case 0:
202+
die("you must specify at least one tree to merge");
203+
break;
203204
case 1:
204205
opts.fn = opts.prefix ? bind_merge : oneway_merge;
205206
break;

0 commit comments

Comments
 (0)