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

[PATCH 3/3] Move "show_all_errors = 1" to setup_unpack_trees_porcelain()

From
Matthieu Moy <matthieu.moy@imag.fr>
Date
Sep 2, 2010, 11:57 UTC
Message-ID
<1283428655-12680-4-git-send-email-Matthieu.Moy@imag.fr>
In-Reply-To
<vpq39ttxumz.fsf@bauges.imag.fr>

Not only this makes the code clearer since setting up the porcelain error message is meant to work with show_all_errors, but this fixes a call to setup_unpack_trees_porcelain() in git_merge_trees() which did not set show_all_errors.

add_rejected_path() used to double-check whether it was running in plumbing mode. This check was inefficient since it was setting show_all_errors too late for traverse_trees() to see it, and is made useless by this patch. Remove it.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
---
 builtin/checkout.c |    1 -
 builtin/merge.c    |    1 -
 unpack-trees.c     |    8 ++------
 unpack-trees.h     |    2 +-
 4 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/builtin/checkout.c b/builtin/checkout.c
index b26dfd0..1532669 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -395,7 +395,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/builtin/merge.c b/builtin/merge.c
index 389e79c..bfd3d32 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -705,7 +705,6 @@ int checkout_fast_forward(const unsigned char *head, const unsigned char *remote
 	opts.verbose_update = 1;
 	opts.merge = 1;
 	opts.fn = twoway_merge;
-	opts.show_all_errors = 1;
 	setup_unpack_trees_porcelain(&opts, "merge");
 
 	trees[nr_trees] = parse_tree_indirect(head);
diff --git a/unpack-trees.c b/unpack-trees.c
index 17501d3..803445a 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -94,6 +94,8 @@ void setup_unpack_trees_porcelain(struct unpack_trees_options *opts,
 		"The following Working tree files would be overwritten by sparse checkout update:\n%s";
 	msgs[ERROR_WOULD_LOSE_ORPHANED_REMOVED] =
 		"The following Working tree files would be removed by sparse checkout update:\n%s";
+
+	opts->show_all_errors = 1;
 }
 
 static void add_entry(struct unpack_trees_options *o, struct cache_entry *ce,
@@ -123,12 +125,6 @@ static int add_rejected_path(struct unpack_trees_options *o,
 			     const char *path)
 {
 	struct rejected_paths_list *newentry;
-	int porcelain = o && (o)->msgs[e];
-	/*
-	 * simply display the given error message if in plumbing mode
-	 */
-	if (!porcelain)
-		o->show_all_errors = 0;
 	if (!o->show_all_errors)
 		return error(ERRORMSG(o, e), path);
 
diff --git a/unpack-trees.h b/unpack-trees.h
index fad680d..7c0187d 100644
--- a/unpack-trees.h
+++ b/unpack-trees.h
@@ -24,7 +24,7 @@ enum unpack_trees_error_types {
 
 /*
  * Sets the list of user-friendly error messages to be used by the
- * command "cmd" (either merge or checkout)
+ * command "cmd" (either merge or checkout), and show_all_errors to 1.
  */
 void setup_unpack_trees_porcelain(struct unpack_trees_options *opts,
 				  const char *cmd);
-- 
1.7.2.2.175.ga619d.dirty
Previous: Matthieu MoyNext: Junio C Hamano
Message 11 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.