Commits

Anonymous committed c29c1b4

builtin-push.c: Cleanup - use OPT_BIT() and remove some variables

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

  • Participants
  • Parent commits 74f5b7f

Comments (0)

Files changed (1)

File builtin-push.c

 	NULL,
 };
 
-static int thin, verbose;
+static int thin;
 static const char *receivepack;
 
 static const char **refspec;
 		if (thin)
 			transport_set_option(transport, TRANS_OPT_THIN, "yes");
 
-		if (verbose)
+		if (flags & TRANSPORT_PUSH_VERBOSE)
 			fprintf(stderr, "Pushing to %s\n", remote->url[i]);
 		err = transport_push(transport, refspec_nr, refspec, flags);
 		err |= transport_disconnect(transport);
 int cmd_push(int argc, const char **argv, const char *prefix)
 {
 	int flags = 0;
-	int all = 0;
-	int mirror = 0;
-	int dry_run = 0;
-	int force = 0;
 	int tags = 0;
 	int rc;
 	const char *repo = NULL;	/* default repository */
 
 	struct option options[] = {
-		OPT__VERBOSE(&verbose),
+		OPT_BIT('v', "verbose", &flags, "be verbose", TRANSPORT_PUSH_VERBOSE),
 		OPT_STRING( 0 , "repo", &repo, "repository", "repository"),
-		OPT_BOOLEAN( 0 , "all", &all, "push all refs"),
-		OPT_BOOLEAN( 0 , "mirror", &mirror, "mirror all refs"),
+		OPT_BIT( 0 , "all", &flags, "push all refs", TRANSPORT_PUSH_ALL),
+		OPT_BIT( 0 , "mirror", &flags, "mirror all refs",
+			    (TRANSPORT_PUSH_MIRROR|TRANSPORT_PUSH_FORCE)),
 		OPT_BOOLEAN( 0 , "tags", &tags, "push tags"),
-		OPT_BOOLEAN( 0 , "dry-run", &dry_run, "dry run"),
-		OPT_BOOLEAN('f', "force", &force, "force updates"),
+		OPT_BIT( 0 , "dry-run", &flags, "dry run", TRANSPORT_PUSH_DRY_RUN),
+		OPT_BIT('f', "force", &flags, "force updates", TRANSPORT_PUSH_FORCE),
 		OPT_BOOLEAN( 0 , "thin", &thin, "use thin pack"),
 		OPT_STRING( 0 , "receive-pack", &receivepack, "receive-pack", "receive pack program"),
 		OPT_STRING( 0 , "exec", &receivepack, "receive-pack", "receive pack program"),
 
 	argc = parse_options(argc, argv, options, push_usage, 0);
 
-	if (force)
-		flags |= TRANSPORT_PUSH_FORCE;
-	if (dry_run)
-		flags |= TRANSPORT_PUSH_DRY_RUN;
-	if (verbose)
-		flags |= TRANSPORT_PUSH_VERBOSE;
 	if (tags)
 		add_refspec("refs/tags/*");
-	if (all)
-		flags |= TRANSPORT_PUSH_ALL;
-	if (mirror)
-		flags |= (TRANSPORT_PUSH_MIRROR|TRANSPORT_PUSH_FORCE);
 
 	if (argc > 0) {
 		repo = argv[0];