Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
blame: wrap blame_sort and compare_blame_final
author
Jeff Smith
<whydoubt@gmail.com>
Wed, 24 May 2017 05:15:27 +0000
(
00:15
-0500)
committer
Junio C Hamano
<gitster@pobox.com>
Thu, 25 May 2017 04:08:22 +0000
(13:08 +0900)
The new method's interface is marginally cleaner than blame_sort, and
will avoid the need to expose the compare_blame_final method.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/blame.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
8c59921
)
diff --git
a/builtin/blame.c
b/builtin/blame.c
index d05907b86c6ea0df607372db650b169eae0b2b17..61fd5b477acb729856ebfd1a6395af8d4e4955fa 100644
(file)
--- a/
builtin/blame.c
+++ b/
builtin/blame.c
@@
-328,12
+328,6
@@
static int compare_blame_suspect(const void *p1, const void *p2)
return s1->s_lno > s2->s_lno ? 1 : -1;
}
return s1->s_lno > s2->s_lno ? 1 : -1;
}
-static struct blame_entry *blame_sort(struct blame_entry *head,
- int (*compare_fn)(const void *, const void *))
-{
- return llist_mergesort (head, get_next_blame, set_next_blame, compare_fn);
-}
-
static int compare_commits_by_reverse_commit_date(const void *a,
const void *b,
void *c)
static int compare_commits_by_reverse_commit_date(const void *a,
const void *b,
void *c)
@@
-396,6
+390,12
@@
struct blame_scoreboard {
void *found_guilty_entry_data;
};
void *found_guilty_entry_data;
};
+static void blame_sort_final(struct blame_scoreboard *sb)
+{
+ sb->ent = llist_mergesort(sb->ent, get_next_blame, set_next_blame,
+ compare_blame_final);
+}
+
static void sanity_check_refcnt(struct blame_scoreboard *);
/*
static void sanity_check_refcnt(struct blame_scoreboard *);
/*
@@
-1378,7
+1378,8
@@
static int num_scapegoats(struct rev_info *revs, struct commit *commit, int reve
*/
static void distribute_blame(struct blame_scoreboard *sb, struct blame_entry *blamed)
{
*/
static void distribute_blame(struct blame_scoreboard *sb, struct blame_entry *blamed)
{
- blamed = blame_sort(blamed, compare_blame_suspect);
+ blamed = llist_mergesort(blamed, get_next_blame, set_next_blame,
+ compare_blame_suspect);
while (blamed)
{
struct blame_origin *porigin = blamed->suspect;
while (blamed)
{
struct blame_origin *porigin = blamed->suspect;
@@
-2922,7
+2923,7
@@
int cmd_blame(int argc, const char **argv, const char *prefix)
if (incremental)
return 0;
if (incremental)
return 0;
-
sb.ent = blame_sort(sb.ent, compare_blame_final
);
+
blame_sort_final(&sb
);
blame_coalesce(&sb);
blame_coalesce(&sb);