From 7ba826290aa448bb9d0d45c3bb4b34905b741013 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 2 Aug 2017 18:25:27 -0400 Subject: revision: add rev_input_given flag Normally a caller that invokes setup_revisions() has to check rev.pending to see if anything was actually queued for the traversal. But they can't tell the difference between two cases: 1. The user gave us no tip from which to start a traversal. 2. The user tried to give us tips via --glob, --all, etc, but their patterns ended up being empty. Let's set a flag in the rev_info struct that callers can use to tell the difference. We can set this from the init_all_refs_cb() function. That's a little funny because it's not exactly about initializing the "cb" struct itself. But that function is the common setup place for doing pattern traversals that is used by --glob, --all, etc. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- revision.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'revision.h') diff --git a/revision.h b/revision.h index f96e7f7f4..bc18487d6 100644 --- a/revision.h +++ b/revision.h @@ -71,6 +71,13 @@ struct rev_info { const char *def; struct pathspec prune_data; + /* + * Whether the arguments parsed by setup_revisions() included any + * "input" revisions that might still have yielded an empty pending + * list (e.g., patterns like "--all" or "--glob"). + */ + int rev_input_given; + /* topo-sort */ enum rev_sort_order sort_order; -- cgit v1.2.1