The surrounding advice is printed to stderr, but the list of submodules
is not. Make the report consistent by reporting everything to stderr.

Signed-off-by: Stefan Beller <>

  This fixes one of the bugs mentioned in
  How to fix the other was not as obvious to me as I do not understand the
  philosophy on verbosity in the transport code.

 transport.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/transport.c b/transport.c
index cf8de6e..94d6dc3 100644
--- a/transport.c
+++ b/transport.c
@@ -771,7 +771,7 @@ static void die_with_unpushed_submodules(struct string_list 
        fprintf(stderr, _("The following submodule paths contain changes that 
                        "not be found on any remote:\n"));
        for (i = 0; i < needs_pushing->nr; i++)
-               printf("  %s\n", needs_pushing->items[i].string);
+               fprintf(stderr, "  %s\n", needs_pushing->items[i].string);
        fprintf(stderr, _("\nPlease try\n\n"
                          "     git push --recurse-submodules=on-demand\n\n"
                          "or cd to the path and use\n\n"

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to