From: Matthieu Moy Date: Thu, 5 Aug 2010 08:22:56 +0000 (+0200) Subject: log: parse separate option for --glob X-Git-Tag: v1.7.3-rc0~49^2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=5adba90d941cdce2aa32ff5b6f562daebef8c2e4;p=git.git log: parse separate option for --glob Signed-off-by: Matthieu Moy Signed-off-by: Junio C Hamano --- diff --git a/revision.c b/revision.c index 489a3c202..f241f341c 100644 --- a/revision.c +++ b/revision.c @@ -1484,6 +1484,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s { int i, flags, left, seen_dashdash, read_from_stdin, got_rev_arg = 0; const char **prune_data = NULL; + const char *optarg; + int argcount; /* First, search for "--" */ seen_dashdash = 0; @@ -1530,10 +1532,11 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s handle_refs(revs, flags, for_each_remote_ref); continue; } - if (!prefixcmp(arg, "--glob=")) { + if ((argcount = parse_long_opt("glob", argv + i, &optarg))) { struct all_refs_cb cb; + i += argcount - 1; init_all_refs_cb(&cb, revs, flags); - for_each_glob_ref(handle_one_ref, arg + 7, &cb); + for_each_glob_ref(handle_one_ref, optarg, &cb); continue; } if (!prefixcmp(arg, "--branches=")) { diff --git a/t/t6018-rev-list-glob.sh b/t/t6018-rev-list-glob.sh index 58428d9f5..fb8291c81 100755 --- a/t/t6018-rev-list-glob.sh +++ b/t/t6018-rev-list-glob.sh @@ -123,6 +123,12 @@ test_expect_success 'rev-list --glob=refs/heads/subspace/*' ' ' +test_expect_success 'rev-list --glob refs/heads/subspace/*' ' + + compare rev-list "subspace/one subspace/two" "--glob refs/heads/subspace/*" + +' + test_expect_success 'rev-list --glob=heads/subspace/*' ' compare rev-list "subspace/one subspace/two" "--glob=heads/subspace/*"