git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] read-tree: "read-tree -m --empty" does not make sense

From
Junio C Hamano <gitster@pobox.com>
Date
May 11, 2017, 04:31 UTC
Message-ID
<xmqqwp9oau9x.fsf_-_@gitster.mtv.corp.google.com>
In-Reply-To
<xmqq60h8cay3.fsf@gitster.mtv.corp.google.com>

fb1bb965 ("read-tree: deprecate syntax without tree-ish args", 2010-09-10) wanted to deprecate "git read-tree" without any tree, which used to be the way to empty the index, and encourage use of "git read-tree --empty" instead.

However, when used with "-m", "--empty" does not make any sense, either, simply because merging 0 trees will result in a different error anyway.

Omit the deprecation warning and let the code to emit real error message diagnose the error.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
    Junio C Hamano <gitster@pobox.com> writes:
    > Jean-Noel Avila <jn.avila@free.fr> writes:
    >
    >> "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?
    >
    > This shows another issue.  The "emptying ... is deprecated" message
    > shouldn't be given when -m is present.
    >
    > I am not saying that that needs to be fixed by you and/or as a part
    > of this patch.  Just something I noticed while reviewing the patch.
 builtin/read-tree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/builtin/read-tree.c b/builtin/read-tree.c
index 23e212ee8c..284de743c3 100644
--- a/builtin/read-tree.c
+++ b/builtin/read-tree.c
@@ -210,7 +210,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
 			die("failed to unpack tree object %s", arg);
 		stage++;
 	}
-	if (nr_trees == 0 && !read_empty)
+	if (!nr_trees && !read_empty && !opts.merge)
 		warning("read-tree: emptying the index with no arguments is deprecated; use --empty");
 	else if (nr_trees > 0 && read_empty)
 		die("passing trees as arguments contradicts --empty");
-- 
2.13.0-336-gf73534b083
Previous: Junio C HamanoNext: Jean-Noel Avila
Message 16 of 41 in “usability: don't ask questions if no reply is required”
  1. 1/4 usability: don't ask questions if no reply is requiredJean-Noel Avila, May 3, 2017
  2. 2/4 usability: fix am and checkout for nevermind questionsJean-Noel Avila, May 3, 2017
  3. Jonathan NiederMay 3, 2017
  4. Jean-Noël AVILAMay 3, 2017
  5. 3/4 read-tree.c: rework UI when merging no treesJean-Noel Avila, May 3, 2017
  6. Jonathan NiederMay 3, 2017
  7. Jean-Noël AVILAMay 3, 2017
  8. 4/4 git-filter-branch: be assertative on dying messageJean-Noel Avila, May 3, 2017
  9. Jonathan NiederMay 3, 2017
  10. Jonathan NiederMay 3, 2017
  11. Stefan BellerMay 3, 2017
  12. Jean-Noël AVILAMay 3, 2017
  13. 1/3 usability: don't ask questions if no reply is requiredJean-Noel Avila, May 3, 2017
  14. 2/3 read-tree -m: make error message for merging 0 trees less smart aleckJean-Noel Avila, May 3, 2017
  15. Junio C HamanoMay 11, 2017
  16. read-tree: "read-tree -m --empty" does not make senseJunio C Hamano, May 11, 2017
  17. 3/3 git-filter-branch: make the error msg when missing branch more openJean-Noel Avila, May 3, 2017
  18. Junio C HamanoMay 11, 2017
  19. Kerry, RichardMay 4, 2017
  20. Ævar Arnfjörð BjarmasonMay 4, 2017
  21. Kerry, RichardMay 4, 2017
  22. Jean-Noël AVILAMay 9, 2017
  23. Ævar Arnfjörð BjarmasonMay 9, 2017
  24. Jean-Noël AVILAMay 4, 2017
  25. Junio C HamanoMay 11, 2017
  26. Kerry, RichardMay 11, 2017
  27. Konstantin KhomoutovMay 11, 2017
  28. Ævar Arnfjörð BjarmasonMay 11, 2017
  29. 1/3 usability: don't ask questions if no reply is requiredJean-Noel Avila, May 11, 2017
  30. 2/3 read-tree -m: make error message for merging 0 trees less smart aleckJean-Noel Avila, May 11, 2017
  31. Jonathan NiederMay 11, 2017
  32. Junio C HamanoMay 12, 2017
  33. Jean-Noël AVILAMay 12, 2017
  34. 3/3 git-filter-branch:Jean-Noel Avila, May 11, 2017
  35. Junio C HamanoMay 12, 2017
  36. 1/3 usability: don't ask questions if no reply is requiredJean-Noel Avila, May 12, 2017
  37. 2/3 read-tree -m: make error message for merging 0 trees less smart aleckJean-Noel Avila, May 12, 2017
  38. 3/3 git-filter-branch: be more direct in an error messageJean-Noel Avila, May 12, 2017
  39. Junio C HamanoMay 12, 2017
  40. Johannes SixtMay 13, 2017
  41. Junio C HamanoMay 15, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.