зеркало из https://github.com/microsoft/git.git
Make builtin-count-objects.c use parse_options.
Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
Родитель
5ac0a2063e
Коммит
833f3abd82
|
@ -6,8 +6,7 @@
|
||||||
|
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
#include "builtin.h"
|
#include "builtin.h"
|
||||||
|
#include "parse-options.h"
|
||||||
static const char count_objects_usage[] = "git-count-objects [-v]";
|
|
||||||
|
|
||||||
static void count_objects(DIR *d, char *path, int len, int verbose,
|
static void count_objects(DIR *d, char *path, int len, int verbose,
|
||||||
unsigned long *loose,
|
unsigned long *loose,
|
||||||
|
@ -67,29 +66,28 @@ static void count_objects(DIR *d, char *path, int len, int verbose,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int cmd_count_objects(int ac, const char **av, const char *prefix)
|
static char const * const count_objects_usage[] = {
|
||||||
|
"git-count-objects [-v]",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
int cmd_count_objects(int argc, const char **argv, const char *prefix)
|
||||||
{
|
{
|
||||||
int i;
|
int i, verbose = 0;
|
||||||
int verbose = 0;
|
|
||||||
const char *objdir = get_object_directory();
|
const char *objdir = get_object_directory();
|
||||||
int len = strlen(objdir);
|
int len = strlen(objdir);
|
||||||
char *path = xmalloc(len + 50);
|
char *path = xmalloc(len + 50);
|
||||||
unsigned long loose = 0, packed = 0, packed_loose = 0, garbage = 0;
|
unsigned long loose = 0, packed = 0, packed_loose = 0, garbage = 0;
|
||||||
unsigned long loose_size = 0;
|
unsigned long loose_size = 0;
|
||||||
|
struct option opts[] = {
|
||||||
|
OPT__VERBOSE(&verbose),
|
||||||
|
OPT_END(),
|
||||||
|
};
|
||||||
|
|
||||||
for (i = 1; i < ac; i++) {
|
argc = parse_options(argc, argv, opts, count_objects_usage, 0);
|
||||||
const char *arg = av[i];
|
|
||||||
if (*arg != '-')
|
|
||||||
break;
|
|
||||||
else if (!strcmp(arg, "-v"))
|
|
||||||
verbose = 1;
|
|
||||||
else
|
|
||||||
usage(count_objects_usage);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* we do not take arguments other than flags for now */
|
/* we do not take arguments other than flags for now */
|
||||||
if (i < ac)
|
if (argc)
|
||||||
usage(count_objects_usage);
|
usage_with_options(count_objects_usage, opts);
|
||||||
memcpy(path, objdir, len);
|
memcpy(path, objdir, len);
|
||||||
if (len && objdir[len-1] != '/')
|
if (len && objdir[len-1] != '/')
|
||||||
path[len++] = '/';
|
path[len++] = '/';
|
||||||
|
|
Загрузка…
Ссылка в новой задаче