rev-list --bisect: Bisection "distance" clean up.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
77c11e064c
commit
53271411e7
@ -189,7 +189,7 @@ static int count_interesting_parents(struct commit *commit)
|
||||
return count;
|
||||
}
|
||||
|
||||
static inline int halfway(struct commit_list *p, int distance, int nr)
|
||||
static inline int halfway(struct commit_list *p, int nr)
|
||||
{
|
||||
/*
|
||||
* Don't short-cut something we are not going to return!
|
||||
@ -202,8 +202,7 @@ static inline int halfway(struct commit_list *p, int distance, int nr)
|
||||
* 2 and 3 are halfway of 5.
|
||||
* 3 is halfway of 6 but 2 and 4 are not.
|
||||
*/
|
||||
distance *= 2;
|
||||
switch (distance - nr) {
|
||||
switch (2 * weight(p) - nr) {
|
||||
case -1: case 0: case 1:
|
||||
return 1;
|
||||
default:
|
||||
@ -295,7 +294,7 @@ static struct commit_list *best_bisection(struct commit_list *list, int nr)
|
||||
static struct commit_list *do_find_bisection(struct commit_list *list,
|
||||
int nr, int *weights)
|
||||
{
|
||||
int n, counted, distance;
|
||||
int n, counted;
|
||||
struct commit_list *p;
|
||||
|
||||
counted = 0;
|
||||
@ -346,15 +345,13 @@ static struct commit_list *do_find_bisection(struct commit_list *list,
|
||||
for (p = list; p; p = p->next) {
|
||||
if (p->item->object.flags & UNINTERESTING)
|
||||
continue;
|
||||
n = weight(p);
|
||||
if (n != -2)
|
||||
if (weight(p) != -2)
|
||||
continue;
|
||||
distance = count_distance(p);
|
||||
weight_set(p, count_distance(p));
|
||||
clear_distance(list);
|
||||
weight_set(p, distance);
|
||||
|
||||
/* Does it happen to be at exactly half-way? */
|
||||
if (halfway(p, distance, nr))
|
||||
if (halfway(p, nr))
|
||||
return p;
|
||||
counted++;
|
||||
}
|
||||
@ -392,8 +389,7 @@ static struct commit_list *do_find_bisection(struct commit_list *list,
|
||||
weight_set(p, weight(q));
|
||||
|
||||
/* Does it happen to be at exactly half-way? */
|
||||
distance = weight(p);
|
||||
if (halfway(p, distance, nr))
|
||||
if (halfway(p, nr))
|
||||
return p;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user