mirror of
https://github.com/git/git
synced 2024-09-17 23:41:33 +00:00
pack-objects: use argv_array
This saves us from having to bump the rp_av count when we add new traversal options. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
1be111d88f
commit
edfbb2aa53
|
@ -22,6 +22,7 @@
|
||||||
#include "pack-bitmap.h"
|
#include "pack-bitmap.h"
|
||||||
#include "reachable.h"
|
#include "reachable.h"
|
||||||
#include "sha1-array.h"
|
#include "sha1-array.h"
|
||||||
|
#include "argv-array.h"
|
||||||
|
|
||||||
static const char *pack_usage[] = {
|
static const char *pack_usage[] = {
|
||||||
N_("git pack-objects --stdout [options...] [< ref-list | < object-list]"),
|
N_("git pack-objects --stdout [options...] [< ref-list | < object-list]"),
|
||||||
|
@ -2614,8 +2615,7 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
|
||||||
int use_internal_rev_list = 0;
|
int use_internal_rev_list = 0;
|
||||||
int thin = 0;
|
int thin = 0;
|
||||||
int all_progress_implied = 0;
|
int all_progress_implied = 0;
|
||||||
const char *rp_av[6];
|
struct argv_array rp = ARGV_ARRAY_INIT;
|
||||||
int rp_ac = 0;
|
|
||||||
int rev_list_unpacked = 0, rev_list_all = 0, rev_list_reflog = 0;
|
int rev_list_unpacked = 0, rev_list_all = 0, rev_list_reflog = 0;
|
||||||
struct option pack_objects_options[] = {
|
struct option pack_objects_options[] = {
|
||||||
OPT_SET_INT('q', "quiet", &progress,
|
OPT_SET_INT('q', "quiet", &progress,
|
||||||
|
@ -2705,24 +2705,24 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
|
||||||
if (pack_to_stdout != !base_name || argc)
|
if (pack_to_stdout != !base_name || argc)
|
||||||
usage_with_options(pack_usage, pack_objects_options);
|
usage_with_options(pack_usage, pack_objects_options);
|
||||||
|
|
||||||
rp_av[rp_ac++] = "pack-objects";
|
argv_array_push(&rp, "pack-objects");
|
||||||
if (thin) {
|
if (thin) {
|
||||||
use_internal_rev_list = 1;
|
use_internal_rev_list = 1;
|
||||||
rp_av[rp_ac++] = "--objects-edge";
|
argv_array_push(&rp, "--objects-edge");
|
||||||
} else
|
} else
|
||||||
rp_av[rp_ac++] = "--objects";
|
argv_array_push(&rp, "--objects");
|
||||||
|
|
||||||
if (rev_list_all) {
|
if (rev_list_all) {
|
||||||
use_internal_rev_list = 1;
|
use_internal_rev_list = 1;
|
||||||
rp_av[rp_ac++] = "--all";
|
argv_array_push(&rp, "--all");
|
||||||
}
|
}
|
||||||
if (rev_list_reflog) {
|
if (rev_list_reflog) {
|
||||||
use_internal_rev_list = 1;
|
use_internal_rev_list = 1;
|
||||||
rp_av[rp_ac++] = "--reflog";
|
argv_array_push(&rp, "--reflog");
|
||||||
}
|
}
|
||||||
if (rev_list_unpacked) {
|
if (rev_list_unpacked) {
|
||||||
use_internal_rev_list = 1;
|
use_internal_rev_list = 1;
|
||||||
rp_av[rp_ac++] = "--unpacked";
|
argv_array_push(&rp, "--unpacked");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!reuse_object)
|
if (!reuse_object)
|
||||||
|
@ -2766,8 +2766,8 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
|
||||||
if (!use_internal_rev_list)
|
if (!use_internal_rev_list)
|
||||||
read_object_list_from_stdin();
|
read_object_list_from_stdin();
|
||||||
else {
|
else {
|
||||||
rp_av[rp_ac] = NULL;
|
get_object_list(rp.argc, rp.argv);
|
||||||
get_object_list(rp_ac, rp_av);
|
argv_array_clear(&rp);
|
||||||
}
|
}
|
||||||
cleanup_preferred_base();
|
cleanup_preferred_base();
|
||||||
if (include_tag && nr_result)
|
if (include_tag && nr_result)
|
||||||
|
|
Loading…
Reference in a new issue