diff options
author | Christian Couder <chriscool@tuxfamily.org> | 2007-09-17 05:28:36 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-09-18 02:58:23 -0700 |
commit | 53271411e7c4d9b92cc5aa1cc02492e9a3593d23 (patch) | |
tree | 155cca6ad6f26ac2545c88e1abaddacb7ead1334 | |
parent | 77c11e064c5daadeb42e79b7fc6b28857e9b6bb6 (diff) | |
download | git-53271411e7c4d9b92cc5aa1cc02492e9a3593d23.tar.gz git-53271411e7c4d9b92cc5aa1cc02492e9a3593d23.tar.xz |
rev-list --bisect: Bisection "distance" clean up.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin-rev-list.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/builtin-rev-list.c b/builtin-rev-list.c index 8c9635abe..899a31d09 100644 --- a/builtin-rev-list.c +++ b/builtin-rev-list.c @@ -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; } } |