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. Fix that. [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@xxxxxxxxxx> --- builtin/rev-parse.c | 1 + 1 file changed, 1 insertion(+) diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index 0f09bbbf6..c71e3b104 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -764,6 +764,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)) { -- 2.17.2