Skip to content

Commit

Permalink
builtin/receive-pack.c: use parse_options API
Browse files Browse the repository at this point in the history
Make receive-pack use the parse_options API,
bringing it more in line with send-pack and push.

Helped-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Signed-off-by: Sidhant Sharma [:tk] <tigerkid001@gmail.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
CptFoobar authored and gitster committed Mar 1, 2016
1 parent f02fbc4 commit 1b68387
Showing 1 changed file with 20 additions and 33 deletions.
53 changes: 20 additions & 33 deletions builtin/receive-pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@
#include "sigchain.h"
#include "fsck.h"

static const char receive_pack_usage[] = "git receive-pack <git-dir>";
static const char * const receive_pack_usage[] = {
N_("git receive-pack <git-dir>"),
NULL
};

enum deny_action {
DENY_UNCONFIGURED,
Expand Down Expand Up @@ -49,7 +52,7 @@ static int quiet;
static int prefer_ofs_delta = 1;
static int auto_update_server_info;
static int auto_gc = 1;
static int fix_thin = 1;
static int reject_thin;
static int stateless_rpc;
static const char *service_dir;
static const char *head_name;
Expand Down Expand Up @@ -1548,7 +1551,7 @@ static const char *unpack(int err_fd, struct shallow_info *si)
if (fsck_objects)
argv_array_pushf(&child.args, "--strict%s",
fsck_msg_types.buf);
if (fix_thin)
if (!reject_thin)
argv_array_push(&child.args, "--fix-thin");
child.out = -1;
child.err = err_fd;
Expand Down Expand Up @@ -1707,45 +1710,29 @@ static int delete_only(struct command *commands)
int cmd_receive_pack(int argc, const char **argv, const char *prefix)
{
int advertise_refs = 0;
int i;
struct command *commands;
struct sha1_array shallow = SHA1_ARRAY_INIT;
struct sha1_array ref = SHA1_ARRAY_INIT;
struct shallow_info si;

packet_trace_identity("receive-pack");
struct option options[] = {
OPT__QUIET(&quiet, N_("quiet")),
OPT_HIDDEN_BOOL(0, "stateless-rpc", &stateless_rpc, NULL),
OPT_HIDDEN_BOOL(0, "advertise-refs", &advertise_refs, NULL),
OPT_HIDDEN_BOOL(0, "reject-thin-pack-for-testing", &reject_thin, NULL),
OPT_END()
};

argv++;
for (i = 1; i < argc; i++) {
const char *arg = *argv++;
packet_trace_identity("receive-pack");

if (*arg == '-') {
if (!strcmp(arg, "--quiet")) {
quiet = 1;
continue;
}
argc = parse_options(argc, argv, prefix, options, receive_pack_usage, 0);

if (!strcmp(arg, "--advertise-refs")) {
advertise_refs = 1;
continue;
}
if (!strcmp(arg, "--stateless-rpc")) {
stateless_rpc = 1;
continue;
}
if (!strcmp(arg, "--reject-thin-pack-for-testing")) {
fix_thin = 0;
continue;
}
if (argc > 1)
usage_msg_opt(_("Too many arguments."), receive_pack_usage, options);
if (argc == 0)
usage_msg_opt(_("You must specify a directory."), receive_pack_usage, options);

usage(receive_pack_usage);
}
if (service_dir)
usage(receive_pack_usage);
service_dir = arg;
}
if (!service_dir)
usage(receive_pack_usage);
service_dir = argv[0];

setup_path();

Expand Down

0 comments on commit 1b68387

Please sign in to comment.