]> git.ipfire.org Git - thirdparty/git.git/commitdiff
rev-parse: clear --exclude list after 'git rev-parse --all'
authorAndreas Gruenbacher <agruenba@redhat.com>
Tue, 23 Oct 2018 19:17:58 +0000 (21:17 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 1 Nov 2018 05:36:36 +0000 (14:36 +0900)
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>
builtin/rev-parse.c
t/t6018-rev-list-glob.sh

index a1e680b5e912beeed183dc271b0ae970a45a4814..f4847d3008767e25cb0ea427cebc37aeae072a44 100644 (file)
@@ -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)) {
index d3453c583c1921a10409c16b5e2cf949edde6cd2..b28075b65d0e732cdd80da2e46818bc3ec6bb72b 100755 (executable)
@@ -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/*"