summaryrefslogtreecommitdiff
path: root/blame.h
diff options
context:
space:
mode:
Diffstat (limited to 'blame.h')
-rw-r--r--blame.h47
1 files changed, 34 insertions, 13 deletions
diff --git a/blame.h b/blame.h
index a6c915c277..b6bbee4147 100644
--- a/blame.h
+++ b/blame.h
@@ -16,6 +16,8 @@
#define BLAME_DEFAULT_MOVE_SCORE 20
#define BLAME_DEFAULT_COPY_SCORE 40
+struct fingerprint;
+
/*
* One blob in a commit that is being suspected
*/
@@ -51,8 +53,10 @@ struct blame_origin {
*/
struct blame_entry *suspects;
mmfile_t file;
+ int num_lines;
+ struct fingerprint *fingerprints;
struct object_id blob_oid;
- unsigned mode;
+ unsigned short mode;
/* guilty gets set when shipping any suspects to the final
* blame list instead of other commits
*/
@@ -92,8 +96,12 @@ struct blame_entry {
* scanning the lines over and over.
*/
unsigned score;
+ int ignored;
+ int unblamable;
};
+struct blame_bloom_data;
+
/*
* The current state of the blame assignment.
*/
@@ -102,6 +110,7 @@ struct blame_scoreboard {
struct commit *final;
/* Priority queue for commits with unassigned blame records */
struct prio_queue commits;
+ struct repository *repo;
struct rev_info *revs;
const char *path;
@@ -116,6 +125,8 @@ struct blame_scoreboard {
/* linked list of blames */
struct blame_entry *ent;
+ struct oidset ignore_list;
+
/* look-up a line in the final buffer */
int num_lines;
int *lineno;
@@ -147,6 +158,7 @@ struct blame_scoreboard {
void(*found_guilty_entry)(struct blame_entry *, void *);
void *found_guilty_entry_data;
+ struct blame_bloom_data *bloom_data;
};
/*
@@ -159,17 +171,26 @@ static inline struct blame_origin *blame_origin_incref(struct blame_origin *o)
o->refcnt++;
return o;
}
-extern void blame_origin_decref(struct blame_origin *o);
-
-extern void blame_coalesce(struct blame_scoreboard *sb);
-extern void blame_sort_final(struct blame_scoreboard *sb);
-extern unsigned blame_entry_score(struct blame_scoreboard *sb, struct blame_entry *e);
-extern void assign_blame(struct blame_scoreboard *sb, int opt);
-extern const char *blame_nth_line(struct blame_scoreboard *sb, long lno);
-
-extern void init_scoreboard(struct blame_scoreboard *sb);
-extern void setup_scoreboard(struct blame_scoreboard *sb, const char *path, struct blame_origin **orig);
-
-extern struct blame_entry *blame_entry_prepend(struct blame_entry *head, long start, long end, struct blame_origin *o);
+void blame_origin_decref(struct blame_origin *o);
+
+void blame_coalesce(struct blame_scoreboard *sb);
+void blame_sort_final(struct blame_scoreboard *sb);
+unsigned blame_entry_score(struct blame_scoreboard *sb, struct blame_entry *e);
+void assign_blame(struct blame_scoreboard *sb, int opt);
+const char *blame_nth_line(struct blame_scoreboard *sb, long lno);
+
+void init_scoreboard(struct blame_scoreboard *sb);
+void setup_scoreboard(struct blame_scoreboard *sb,
+ const char *path,
+ struct blame_origin **orig);
+void setup_blame_bloom_data(struct blame_scoreboard *sb,
+ const char *path);
+void cleanup_scoreboard(struct blame_scoreboard *sb);
+
+struct blame_entry *blame_entry_prepend(struct blame_entry *head,
+ long start, long end,
+ struct blame_origin *o);
+
+struct blame_origin *get_blame_suspects(struct commit *commit);
#endif /* BLAME_H */