Move "show_all_errors = 1" to setup_unpack_trees_porcelain()
authorMatthieu Moy <Matthieu.Moy@imag.fr>
Thu, 2 Sep 2010 16:08:15 +0000 (18:08 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 3 Sep 2010 16:31:51 +0000 (09:31 -0700)
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 ineffective 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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/checkout.c
builtin/merge.c
unpack-trees.c
unpack-trees.h

index f6caac104750a154d8934d570b3e099c2f5f27fc..f3dfb7b8046cc92e578303e00e54eae53b2bc054 100644 (file)
@@ -392,7 +392,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);
index a25951475f08a5a32194bf1e5236d84e7dee91d0..32b4d9d0228d205b1b1c45839aab8955bfad4cac 100644 (file)
@@ -704,7 +704,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);
index 8bf8ce8805f3d320d285afccdfd6f9893d3e9e81..d0c5d1c4d560e0f6b2a6eccd2d1cf0fe3a89fe70 100644 (file)
@@ -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,
@@ -120,12 +122,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);
 
index fad680dced188594fec356a20679be07842110d3..7c0187d11adaa5f0b9a8642070d8dfc2db41dfdf 100644 (file)
@@ -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);