@matheusbsbs / matheus-bagliano / commits / 8afd8dc065
Fork 0

push: support multiple levels of verbosity

Remove the flags TRANSPORT_PUSH_QUIET and TRANSPORT_PUSH_VERBOSE; use transport->verbose instead to determine verbosity for pushing. Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Tay Ray Chuan committed Feb 24, 2010 at 20:50 UTC 8afd8dc065c54d3c8d8e0397506aa99261703414
4 files changed +10 -10
builtin-push.c
+6 -3
@@ -17,6 +17,7 @@ static const char * const push_usage[] = {
17 static int thin;
18 static int deleterefs;
19 static const char *receivepack;
20 +static int verbosity;
21
22 static const char **refspec;
23 static int refspec_nr;
@@ -105,13 +106,16 @@ static int push_with_options(struct transport *transport, int flags)
106 {
107 int err;
108 int nonfastforward;
109 +
110 + transport_set_verbosity(transport, verbosity);
111 +
112 if (receivepack)
113 transport_set_option(transport,
114 TRANS_OPT_RECEIVEPACK, receivepack);
115 if (thin)
116 transport_set_option(transport, TRANS_OPT_THIN, "yes");
117
114 - if (flags & TRANSPORT_PUSH_VERBOSE)
118 + if (verbosity > 0)
119 fprintf(stderr, "Pushing to %s\n", transport->url);
120 err = transport_push(transport, refspec_nr, refspec, flags,
121 &nonfastforward);
@@ -204,8 +208,7 @@ int cmd_push(int argc, const char **argv, const char *prefix)
208 int rc;
209 const char *repo = NULL; /* default repository */
210 struct option options[] = {
207 - OPT_BIT('q', "quiet", &flags, "be quiet", TRANSPORT_PUSH_QUIET),
208 - OPT_BIT('v', "verbose", &flags, "be verbose", TRANSPORT_PUSH_VERBOSE),
211 + OPT__VERBOSITY(&verbosity),
212 OPT_STRING( 0 , "repo", &repo, "repository", "repository"),
213 OPT_BIT( 0 , "all", &flags, "push all refs", TRANSPORT_PUSH_ALL),
214 OPT_BIT( 0 , "mirror", &flags, "mirror all refs",
transport-helper.c
-1
@@ -576,7 +576,6 @@ static int push_refs(struct transport *transport,
576 if (buf.len == 0)
577 return 0;
578
579 - transport->verbose = flags & TRANSPORT_PUSH_VERBOSE ? 1 : 0;
579 standard_options(transport);
580
581 if (flags & TRANSPORT_PUSH_DRY_RUN) {
transport.c
+4 -4
@@ -788,8 +788,8 @@ static int git_transport_push(struct transport *transport, struct ref *remote_re
788 args.send_mirror = !!(flags & TRANSPORT_PUSH_MIRROR);
789 args.force_update = !!(flags & TRANSPORT_PUSH_FORCE);
790 args.use_thin_pack = data->options.thin;
791 - args.verbose = !!(flags & TRANSPORT_PUSH_VERBOSE);
792 - args.quiet = !!(flags & TRANSPORT_PUSH_QUIET);
791 + args.verbose = (transport->verbose > 0);
792 + args.quiet = (transport->verbose < 0);
793 args.dry_run = !!(flags & TRANSPORT_PUSH_DRY_RUN);
794
795 ret = send_pack(&args, data->fd, data->conn, remote_refs,
@@ -1039,8 +1039,8 @@ int transport_push(struct transport *transport,
1039 transport->get_refs_list(transport, 1);
1040 struct ref *local_refs = get_local_heads();
1041 int match_flags = MATCH_REFS_NONE;
1042 - int verbose = flags & TRANSPORT_PUSH_VERBOSE;
1043 - int quiet = flags & TRANSPORT_PUSH_QUIET;
1042 + int verbose = (transport->verbose > 0);
1043 + int quiet = (transport->verbose < 0);
1044 int porcelain = flags & TRANSPORT_PUSH_PORCELAIN;
1045 int pretend = flags & TRANSPORT_PUSH_DRY_RUN;
1046 int ret, err;
transport.h
-2
@@ -88,9 +88,7 @@ struct transport {
88 #define TRANSPORT_PUSH_FORCE 2
89 #define TRANSPORT_PUSH_DRY_RUN 4
90 #define TRANSPORT_PUSH_MIRROR 8
91 -#define TRANSPORT_PUSH_VERBOSE 16
91 #define TRANSPORT_PUSH_PORCELAIN 32
93 -#define TRANSPORT_PUSH_QUIET 64
92 #define TRANSPORT_PUSH_SET_UPSTREAM 128
93
94 /* Returns a transport suitable for the url */