Code

lstat_cache: optionally return match_len
[git.git] / revision.h
index a14deefc252bd641fba5e16f7859b4a985a72578..05659c64acd7fe8eb7be011cee6174e397e57baf 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "parse-options.h"
 #include "grep.h"
+#include "notes.h"
 
 #define SEEN           (1u<<0)
 #define UNINTERESTING   (1u<<1)
@@ -20,6 +21,7 @@
 
 struct rev_info;
 struct log_info;
+struct string_list;
 
 struct rev_info {
        /* Starting list */
@@ -55,6 +57,7 @@ struct rev_info {
                        limited:1,
                        unpacked:1,
                        boundary:2,
+                       count:1,
                        left_right:1,
                        rewrite_parents:1,
                        print_parents:1,
@@ -64,6 +67,7 @@ struct rev_info {
                        reverse_output_stage:1,
                        cherry_pick:1,
                        bisect:1,
+                       ancestry_path:1,
                        first_parent_only:1;
 
        /* Diff flags */
@@ -126,6 +130,13 @@ struct rev_info {
        struct reflog_walk_info *reflog_info;
        struct decoration children;
        struct decoration merge_simplification;
+
+       /* notes-specific options: which refs to show */
+       struct display_notes_opt notes_opt;
+
+       /* commit counts */
+       int count_left;
+       int count_right;
 };
 
 #define REV_TREE_SAME          0
@@ -137,8 +148,14 @@ struct rev_info {
 typedef void (*show_early_output_fn_t)(struct rev_info *, struct commit_list *);
 extern volatile show_early_output_fn_t show_early_output;
 
+struct setup_revision_opt {
+       const char *def;
+       void (*tweak)(struct rev_info *, struct setup_revision_opt *);
+       const char *submodule;
+};
+
 extern void init_revisions(struct rev_info *revs, const char *prefix);
-extern int setup_revisions(int argc, const char **argv, struct rev_info *revs, const char *def);
+extern int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct setup_revision_opt *);
 extern void parse_revision_opt(struct rev_info *revs, struct parse_opt_ctx_t *ctx,
                                 const struct option *options,
                                 const char * const usagestr[]);