reflog-delete: parse standard reflog options
Add support for some standard reflog options such as --dry-run and --verbose to the reflog delete subcommand. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
50f3ac29cb
commit
3c386aa338
@ -14,6 +14,8 @@
|
||||
|
||||
static const char reflog_expire_usage[] =
|
||||
"git-reflog (show|expire) [--verbose] [--dry-run] [--stale-fix] [--expire=<time>] [--expire-unreachable=<time>] [--all] <refs>...";
|
||||
static const char reflog_delete_usage[] =
|
||||
"git-reflog delete [--verbose] [--dry-run] <refs>...";
|
||||
|
||||
static unsigned long default_reflog_expire;
|
||||
static unsigned long default_reflog_expire_unreachable;
|
||||
@ -425,12 +427,28 @@ static int cmd_reflog_delete(int argc, const char **argv, const char *prefix)
|
||||
struct cmd_reflog_expire_cb cb;
|
||||
int i, status = 0;
|
||||
|
||||
if (argc < 2)
|
||||
return error("Nothing to delete?");
|
||||
|
||||
memset(&cb, 0, sizeof(cb));
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
const char *arg = argv[i];
|
||||
if (!strcmp(arg, "--dry-run") || !strcmp(arg, "-n"))
|
||||
cb.dry_run = 1;
|
||||
else if (!strcmp(arg, "--verbose"))
|
||||
cb.verbose = 1;
|
||||
else if (!strcmp(arg, "--")) {
|
||||
i++;
|
||||
break;
|
||||
}
|
||||
else if (arg[0] == '-')
|
||||
usage(reflog_delete_usage);
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
if (argc - i < 1)
|
||||
return error("Nothing to delete?");
|
||||
|
||||
for ( ; i < argc; i++) {
|
||||
const char *spec = strstr(argv[i], "@{");
|
||||
unsigned char sha1[20];
|
||||
char *ep, *ref;
|
||||
|
Loading…
Reference in New Issue
Block a user