diff options
author | Tay Ray Chuan <rctay89@gmail.com> | 2010-02-24 20:50:26 +0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-02-24 08:35:44 -0800 |
commit | d01b3c02e8a066054c308ee2ce521a2ea44738d3 (patch) | |
tree | 75fb151e00c082a805a3cd067b3cc89f11359e45 /transport.h | |
parent | 5bd631b3688e93ddedb33d4087deb91e2aae9e8e (diff) | |
download | git-d01b3c02e8a066054c308ee2ce521a2ea44738d3.tar.gz |
transport->progress: use flag authoritatively
Set transport->progress in transport.c::transport_set_verbosity() after
checking for the appropriate conditions (eg. --progress, isatty(2)),
and thereafter use it without having to check again.
The rules used are as follows (processing aborts when a rule is
satisfied):
1. Report progress, if force_progress is 1 (ie. --progress).
2. Don't report progress, if verbosity < 0 (ie. -q/--quiet).
3. Report progress if isatty(2) is 1.
This changes progress reporting behaviour such that if both --progress
and --quiet are specified, progress is reported.
In two areas, the logic to determine whether to *not* show progress is
changed to simply use the negation of transport->progress. This changes
behaviour in some ways (see previous paragraph for details).
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'transport.h')
-rw-r--r-- | transport.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/transport.h b/transport.h index c0743b1086..de2745a6ed 100644 --- a/transport.h +++ b/transport.h @@ -74,7 +74,12 @@ struct transport { int (*disconnect)(struct transport *connection); char *pack_lockfile; signed verbose : 3; - /* Force progress even if stderr is not a tty */ + /** + * Transports should not set this directly, and should use this + * value without having to check isatty(2), -q/--quiet + * (transport->verbose < 0), etc. - checking has already been done + * in transport_set_verbosity(). + **/ unsigned progress : 1; /* * If transport is at least potentially smart, this points to @@ -120,7 +125,8 @@ struct transport *transport_get(struct remote *, const char *); **/ int transport_set_option(struct transport *transport, const char *name, const char *value); -void transport_set_verbosity(struct transport *transport, int verbosity); +void transport_set_verbosity(struct transport *transport, int verbosity, + int force_progress); int transport_push(struct transport *connection, int refspec_nr, const char **refspec, int flags, |