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

[PATCH] Make sure show_all_errors when using porcelain error messages

From
Matthieu Moy <matthieu.moy@imag.fr>
Date
Sep 1, 2010, 06:05 UTC
Message-ID
<1283321153-24745-1-git-send-email-Matthieu.Moy@imag.fr>
In-Reply-To
<vpqeide0zkx.fsf@bauges.imag.fr>

opts.show_all_errors controls the number of errors that can be displayed, and set_porcelain_error_msgs gives the format. But the formatting would be incorrect if set_porcelain_error_msgs is called without setting opts.show_all_errors.

There was a missing opts.show_all_errors in merge-recursive.c, and a case where it was not obvious enough in merge.c.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
---
If this is the issue, we should probably change
set_porcelain_error_msgs to set show_all_errors itself (but that
requires changing the argument type)
 builtin/checkout.c |    2 +-
 merge-recursive.c  |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 7250e5c..8a7f994 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -376,6 +376,7 @@ static int merge_working_tree(struct checkout_opts *opts,
 		topts.src_index = &the_index;
 		topts.dst_index = &the_index;
 
+		topts.show_all_errors = 1;
 		set_porcelain_error_msgs(topts.msgs, "checkout");
 
 		refresh_cache(REFRESH_QUIET);
@@ -395,7 +396,6 @@ static int merge_working_tree(struct checkout_opts *opts,
 		topts.dir = xcalloc(1, sizeof(*topts.dir));
 		topts.dir->flags |= DIR_SHOW_IGNORED;
 		topts.dir->exclude_per_dir = ".gitignore";
-		topts.show_all_errors = 1;
 		tree = parse_tree_indirect(old->commit ?
 					   old->commit->object.sha1 :
 					   (unsigned char *)EMPTY_TREE_SHA1_BIN);
diff --git a/merge-recursive.c b/merge-recursive.c
index 638076e..c7fc7a7 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -180,6 +180,7 @@ static int git_merge_trees(int index_only,
 	opts.fn = threeway_merge;
 	opts.src_index = &the_index;
 	opts.dst_index = &the_index;
+	opts.show_all_errors = 1;
 	set_porcelain_error_msgs(opts.msgs, "merge");
 
 	init_tree_desc_from_tree(t+0, common);
-- 
1.7.2.2.175.ga619d.dirty
Previous: Matthieu MoyNext: Junio C Hamano
Message 2 of 16 in “Re: [PATCH for next] insert missing newline in a diagnostic”
  1. Matthieu MoySep 1, 2010
  2. Make sure show_all_errors when using porcelain error messagesMatthieu Moy, Sep 1, 2010
  3. Junio C HamanoSep 1, 2010
  4. Matthieu MoySep 1, 2010
  5. Junio C HamanoSep 1, 2010
  6. 0/3 (hopefully) Proper fix to set show_all_errors where neededMatthieu Moy, Sep 2, 2010
  7. Jim MeyeringSep 3, 2010
  8. t7609-merge-co-error-msgs: test non-fast forward case too.Matthieu Moy, Sep 3, 2010
  9. 1/3 Move set_porcelain_error_msgs to unpack-trees.c and rename itMatthieu Moy, Sep 2, 2010
  10. 2/3 setup_unpack_trees_porcelain: take the whole options struct as parameterMatthieu Moy, Sep 2, 2010
  11. 3/3 Move "show_all_errors = 1" to setup_unpack_trees_porcelain()Matthieu Moy, Sep 2, 2010
  12. Junio C HamanoSep 2, 2010
  13. Matthieu MoySep 2, 2010
  14. Move "show_all_errors = 1" to setup_unpack_trees_porcelain()Matthieu Moy, Sep 2, 2010
  15. Jim MeyeringSep 2, 2010
  16. Matthieu MoySep 2, 2010

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.