Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
reflog-delete: parse standard reflog options
author
Brandon Casey
<casey@nrlssc.navy.mil>
Fri, 22 Feb 2008 21:08:59 +0000
(15:08 -0600)
committer
Junio C Hamano
<gitster@pobox.com>
Sat, 23 Feb 2008 06:57:34 +0000
(22:57 -0800)
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>
builtin-reflog.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
50f3ac2
)
diff --git
a/builtin-reflog.c
b/builtin-reflog.c
index 8af75bc3e120a390c11c0054b80e6bc852451ac3..77f70a62ab0f8fed0ceb5f12efac5d5965cbe227 100644
(file)
--- a/
builtin-reflog.c
+++ b/
builtin-reflog.c
@@
-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_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;
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;
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++) {
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;
const char *spec = strstr(argv[i], "@{");
unsigned char sha1[20];
char *ep, *ref;