Merge branch 'kb/full-history-compute-treesame-carefully-2'
[gitweb.git] / revision.h
index 1e2c95cc8326d1fc20e60d1ecd3b2c0ceb879241..24547b59f1d8f0d77bee6174600ea1bcb2e1b2a9 100644 (file)
@@ -98,7 +98,8 @@ struct rev_info {
                        cherry_mark:1,
                        bisect:1,
                        ancestry_path:1,
-                       first_parent_only:1;
+                       first_parent_only:1,
+                       line_level_traverse:1;
 
        /* Diff flags */
        unsigned int    diff:1,
@@ -178,6 +179,9 @@ struct rev_info {
        int count_left;
        int count_right;
        int count_same;
+
+       /* line level range that we are chasing */
+       struct decoration line_log_data;
 };
 
 #define REV_TREE_SAME          0
@@ -244,4 +248,14 @@ enum commit_action {
 extern enum commit_action get_commit_action(struct rev_info *revs, struct commit *commit);
 extern enum commit_action simplify_commit(struct rev_info *revs, struct commit *commit);
 
+enum rewrite_result {
+       rewrite_one_ok,
+       rewrite_one_noparents,
+       rewrite_one_error
+};
+
+typedef enum rewrite_result (*rewrite_parent_fn_t)(struct rev_info *revs, struct commit **pp);
+
+extern int rewrite_parents(struct rev_info *revs, struct commit *commit,
+       rewrite_parent_fn_t rewrite_parent);
 #endif