diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2018-10-23 21:17:58 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-11-01 14:36:36 +0900 |
commit | 5221048092b7a2359579b56bde4134c420e5555d (patch) | |
tree | e0de0891d546bfd9b4bbd1ba22519f97ba8b42ca | |
parent | Git 2.17.2 (diff) | |
download | tgif-5221048092b7a2359579b56bde4134c420e5555d.tar.xz |
rev-parse: clear --exclude list after 'git rev-parse --all'
Commit [1] added the --exclude option to revision.c. The --all,
--branches, --tags, --remotes, and --glob options clear the exclude
list. Shortly therafter, commit [2] added the same to 'git rev-parse',
but without clearing the exclude list for the --all option.
[1] e7b432c52 ("revision: introduce --exclude=<glob> to tame wildcards", 2013-08-30)
[2] 9dc01bf06 ("rev-parse: introduce --exclude=<glob> to tame wildcards", 2013-11-01)
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/rev-parse.c | 1 | ||||
-rwxr-xr-x | t/t6018-rev-list-glob.sh | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index a1e680b5e9..f4847d3008 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -760,6 +760,7 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) } if (!strcmp(arg, "--all")) { for_each_ref(show_reference, NULL); + clear_ref_exclusion(&ref_excludes); continue; } if (skip_prefix(arg, "--disambiguate=", &arg)) { diff --git a/t/t6018-rev-list-glob.sh b/t/t6018-rev-list-glob.sh index d3453c583c..b28075b65d 100755 --- a/t/t6018-rev-list-glob.sh +++ b/t/t6018-rev-list-glob.sh @@ -141,6 +141,18 @@ test_expect_success 'rev-parse accumulates multiple --exclude' ' compare rev-parse "--exclude=refs/remotes/* --exclude=refs/tags/* --all" --branches ' +test_expect_success 'rev-parse --branches clears --exclude' ' + compare rev-parse "--exclude=* --branches --branches" "--branches" +' + +test_expect_success 'rev-parse --tags clears --exclude' ' + compare rev-parse "--exclude=* --tags --tags" "--tags" +' + +test_expect_success 'rev-parse --all clears --exclude' ' + compare rev-parse "--exclude=* --all --all" "--all" +' + test_expect_success 'rev-list --glob=refs/heads/subspace/*' ' compare rev-list "subspace/one subspace/two" "--glob=refs/heads/subspace/*" |