summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-06-25 11:49:10 -0700
committerJunio C Hamano <gitster@pobox.com>2014-06-25 11:49:11 -0700
commit8675779454ed3007bd2a8f83d013e05a65c2d480 (patch)
tree2fa13d33597da190866a5655f36a45584da4c90f
parentc4f79d13b93a7ce53c932c3970403d8f10904d30 (diff)
parenteb077745a4f22183faec93e46e053ccddabcc88b (diff)
downloadgit-8675779454ed3007bd2a8f83d013e05a65c2d480.tar.gz
Merge branch 'jc/shortlog-ref-exclude' into maint
"git log --exclude=<glob> --all | git shortlog" worked as expected, but "git shortlog --exclude=<glob> --all", which is supposed to be identical to the above pipeline, was not accepted at the command line argument parser level. * jc/shortlog-ref-exclude: shortlog: allow --exclude=<glob> to be passed
-rw-r--r--revision.c1
-rwxr-xr-xt/t4201-shortlog.sh6
2 files changed, 7 insertions, 0 deletions
diff --git a/revision.c b/revision.c
index f6a1088381..8351e794df 100644
--- a/revision.c
+++ b/revision.c
@@ -1633,6 +1633,7 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
!strcmp(arg, "--reflog") || !strcmp(arg, "--not") ||
!strcmp(arg, "--no-walk") || !strcmp(arg, "--do-walk") ||
!strcmp(arg, "--bisect") || starts_with(arg, "--glob=") ||
+ starts_with(arg, "--exclude=") ||
starts_with(arg, "--branches=") || starts_with(arg, "--tags=") ||
starts_with(arg, "--remotes=") || starts_with(arg, "--no-walk="))
{
diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh
index 42866992cf..97fcb31d6e 100755
--- a/t/t4201-shortlog.sh
+++ b/t/t4201-shortlog.sh
@@ -188,4 +188,10 @@ test_expect_success 'shortlog ignores commits with missing authors' '
test_cmp expect actual
'
+test_expect_success 'shortlog with revision pseudo options' '
+ git shortlog --all &&
+ git shortlog --branches &&
+ git shortlog --exclude=refs/heads/m* --all
+'
+
test_done