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>
This commit is contained in:
parent
bde873c529
commit
8afd8dc065
@ -17,6 +17,7 @@ static const char * const push_usage[] = {
|
|||||||
static int thin;
|
static int thin;
|
||||||
static int deleterefs;
|
static int deleterefs;
|
||||||
static const char *receivepack;
|
static const char *receivepack;
|
||||||
|
static int verbosity;
|
||||||
|
|
||||||
static const char **refspec;
|
static const char **refspec;
|
||||||
static int refspec_nr;
|
static int refspec_nr;
|
||||||
@ -105,13 +106,16 @@ static int push_with_options(struct transport *transport, int flags)
|
|||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
int nonfastforward;
|
int nonfastforward;
|
||||||
|
|
||||||
|
transport_set_verbosity(transport, verbosity);
|
||||||
|
|
||||||
if (receivepack)
|
if (receivepack)
|
||||||
transport_set_option(transport,
|
transport_set_option(transport,
|
||||||
TRANS_OPT_RECEIVEPACK, receivepack);
|
TRANS_OPT_RECEIVEPACK, receivepack);
|
||||||
if (thin)
|
if (thin)
|
||||||
transport_set_option(transport, TRANS_OPT_THIN, "yes");
|
transport_set_option(transport, TRANS_OPT_THIN, "yes");
|
||||||
|
|
||||||
if (flags & TRANSPORT_PUSH_VERBOSE)
|
if (verbosity > 0)
|
||||||
fprintf(stderr, "Pushing to %s\n", transport->url);
|
fprintf(stderr, "Pushing to %s\n", transport->url);
|
||||||
err = transport_push(transport, refspec_nr, refspec, flags,
|
err = transport_push(transport, refspec_nr, refspec, flags,
|
||||||
&nonfastforward);
|
&nonfastforward);
|
||||||
@ -204,8 +208,7 @@ int cmd_push(int argc, const char **argv, const char *prefix)
|
|||||||
int rc;
|
int rc;
|
||||||
const char *repo = NULL; /* default repository */
|
const char *repo = NULL; /* default repository */
|
||||||
struct option options[] = {
|
struct option options[] = {
|
||||||
OPT_BIT('q', "quiet", &flags, "be quiet", TRANSPORT_PUSH_QUIET),
|
OPT__VERBOSITY(&verbosity),
|
||||||
OPT_BIT('v', "verbose", &flags, "be verbose", TRANSPORT_PUSH_VERBOSE),
|
|
||||||
OPT_STRING( 0 , "repo", &repo, "repository", "repository"),
|
OPT_STRING( 0 , "repo", &repo, "repository", "repository"),
|
||||||
OPT_BIT( 0 , "all", &flags, "push all refs", TRANSPORT_PUSH_ALL),
|
OPT_BIT( 0 , "all", &flags, "push all refs", TRANSPORT_PUSH_ALL),
|
||||||
OPT_BIT( 0 , "mirror", &flags, "mirror all refs",
|
OPT_BIT( 0 , "mirror", &flags, "mirror all refs",
|
||||||
|
@ -576,7 +576,6 @@ static int push_refs(struct transport *transport,
|
|||||||
if (buf.len == 0)
|
if (buf.len == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
transport->verbose = flags & TRANSPORT_PUSH_VERBOSE ? 1 : 0;
|
|
||||||
standard_options(transport);
|
standard_options(transport);
|
||||||
|
|
||||||
if (flags & TRANSPORT_PUSH_DRY_RUN) {
|
if (flags & TRANSPORT_PUSH_DRY_RUN) {
|
||||||
|
@ -788,8 +788,8 @@ static int git_transport_push(struct transport *transport, struct ref *remote_re
|
|||||||
args.send_mirror = !!(flags & TRANSPORT_PUSH_MIRROR);
|
args.send_mirror = !!(flags & TRANSPORT_PUSH_MIRROR);
|
||||||
args.force_update = !!(flags & TRANSPORT_PUSH_FORCE);
|
args.force_update = !!(flags & TRANSPORT_PUSH_FORCE);
|
||||||
args.use_thin_pack = data->options.thin;
|
args.use_thin_pack = data->options.thin;
|
||||||
args.verbose = !!(flags & TRANSPORT_PUSH_VERBOSE);
|
args.verbose = (transport->verbose > 0);
|
||||||
args.quiet = !!(flags & TRANSPORT_PUSH_QUIET);
|
args.quiet = (transport->verbose < 0);
|
||||||
args.dry_run = !!(flags & TRANSPORT_PUSH_DRY_RUN);
|
args.dry_run = !!(flags & TRANSPORT_PUSH_DRY_RUN);
|
||||||
|
|
||||||
ret = send_pack(&args, data->fd, data->conn, remote_refs,
|
ret = send_pack(&args, data->fd, data->conn, remote_refs,
|
||||||
@ -1039,8 +1039,8 @@ int transport_push(struct transport *transport,
|
|||||||
transport->get_refs_list(transport, 1);
|
transport->get_refs_list(transport, 1);
|
||||||
struct ref *local_refs = get_local_heads();
|
struct ref *local_refs = get_local_heads();
|
||||||
int match_flags = MATCH_REFS_NONE;
|
int match_flags = MATCH_REFS_NONE;
|
||||||
int verbose = flags & TRANSPORT_PUSH_VERBOSE;
|
int verbose = (transport->verbose > 0);
|
||||||
int quiet = flags & TRANSPORT_PUSH_QUIET;
|
int quiet = (transport->verbose < 0);
|
||||||
int porcelain = flags & TRANSPORT_PUSH_PORCELAIN;
|
int porcelain = flags & TRANSPORT_PUSH_PORCELAIN;
|
||||||
int pretend = flags & TRANSPORT_PUSH_DRY_RUN;
|
int pretend = flags & TRANSPORT_PUSH_DRY_RUN;
|
||||||
int ret, err;
|
int ret, err;
|
||||||
|
@ -88,9 +88,7 @@ struct transport {
|
|||||||
#define TRANSPORT_PUSH_FORCE 2
|
#define TRANSPORT_PUSH_FORCE 2
|
||||||
#define TRANSPORT_PUSH_DRY_RUN 4
|
#define TRANSPORT_PUSH_DRY_RUN 4
|
||||||
#define TRANSPORT_PUSH_MIRROR 8
|
#define TRANSPORT_PUSH_MIRROR 8
|
||||||
#define TRANSPORT_PUSH_VERBOSE 16
|
|
||||||
#define TRANSPORT_PUSH_PORCELAIN 32
|
#define TRANSPORT_PUSH_PORCELAIN 32
|
||||||
#define TRANSPORT_PUSH_QUIET 64
|
|
||||||
#define TRANSPORT_PUSH_SET_UPSTREAM 128
|
#define TRANSPORT_PUSH_SET_UPSTREAM 128
|
||||||
|
|
||||||
/* Returns a transport suitable for the url */
|
/* Returns a transport suitable for the url */
|
||||||
|
Loading…
Reference in New Issue
Block a user