Code

revision.c: introduce --cherry-mark
[git.git] / revision.h
index 855464f1441654c1938135d6a99b247c70826146..d38f1355d395d7834cfef091c09551bb4cc8b895 100644 (file)
@@ -14,7 +14,8 @@
 #define CHILD_SHOWN    (1u<<6)
 #define ADDED          (1u<<7) /* Parents already parsed and added? */
 #define SYMMETRIC_LEFT (1u<<8)
-#define ALL_REV_FLAGS  ((1u<<9)-1)
+#define PATCHSAME      (1u<<9)
+#define ALL_REV_FLAGS  ((1u<<10)-1)
 
 #define DECORATE_SHORT_REFS    1
 #define DECORATE_FULL_REFS     2
@@ -57,7 +58,10 @@ struct rev_info {
                        limited:1,
                        unpacked:1,
                        boundary:2,
+                       count:1,
                        left_right:1,
+                       left_only:1,
+                       right_only:1,
                        rewrite_parents:1,
                        print_parents:1,
                        show_source:1,
@@ -65,6 +69,7 @@ struct rev_info {
                        reverse:1,
                        reverse_output_stage:1,
                        cherry_pick:1,
+                       cherry_mark:1,
                        bisect:1,
                        ancestry_path:1,
                        first_parent_only:1;
@@ -132,6 +137,10 @@ struct rev_info {
 
        /* 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
@@ -146,6 +155,7 @@ 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);
@@ -157,6 +167,7 @@ extern int handle_revision_arg(const char *arg, struct rev_info *revs,int flags,
 
 extern int prepare_revision_walk(struct rev_info *revs);
 extern struct commit *get_revision(struct rev_info *revs);
+extern char *get_revision_mark(const struct rev_info *revs, const struct commit *commit);
 
 extern void mark_parents_uninteresting(struct commit *commit);
 extern void mark_tree_uninteresting(struct tree *tree);