Browse Source

check stderr with isatty() instead of stdout when deciding to show progress

Make transport code (viz. transport.c::fetch_refs_via_pack() and
transport-helper.c::standard_options()) that decides to show progress
check if stderr is a terminal, instead of stdout. After all, progress
reports (via the API in progress.[ch]) are sent to stderr.

Update the documentation for git-clone to say "standard error" as well.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Tay Ray Chuan 15 years ago committed by Junio C Hamano
parent
commit
486a3d7164
  1. 2
      Documentation/git-clone.txt
  2. 2
      transport-helper.c
  3. 2
      transport.c
  4. 2
      transport.h

2
Documentation/git-clone.txt

@ -101,7 +101,7 @@ objects from the source repository into a pack in the cloned repository. @@ -101,7 +101,7 @@ objects from the source repository into a pack in the cloned repository.

--verbose::
-v::
Display the progress bar, even in case the standard output is not
Display the progress bar, even in case the standard error is not
a terminal.

--no-checkout::

2
transport-helper.c

@ -144,7 +144,7 @@ static void standard_options(struct transport *t) @@ -144,7 +144,7 @@ static void standard_options(struct transport *t)
char buf[16];
int n;
int v = t->verbose;
int no_progress = v < 0 || (!t->progress && !isatty(1));
int no_progress = v < 0 || (!t->progress && !isatty(2));

set_helper_option(t, "progress", !no_progress ? "true" : "false");


2
transport.c

@ -476,7 +476,7 @@ static int fetch_refs_via_pack(struct transport *transport, @@ -476,7 +476,7 @@ static int fetch_refs_via_pack(struct transport *transport,
args.include_tag = data->followtags;
args.verbose = (transport->verbose > 0);
args.quiet = (transport->verbose < 0);
args.no_progress = args.quiet || (!transport->progress && !isatty(1));
args.no_progress = args.quiet || (!transport->progress && !isatty(2));
args.depth = data->depth;

for (i = 0; i < nr_heads; i++)

2
transport.h

@ -26,7 +26,7 @@ struct transport { @@ -26,7 +26,7 @@ struct transport {
int (*disconnect)(struct transport *connection);
char *pack_lockfile;
signed verbose : 3;
/* Force progress even if the output is not a tty */
/* Force progress even if stderr is not a tty */
unsigned progress : 1;
};


Loading…
Cancel
Save