Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
rev-list --bisect: Bisection "distance" clean up.
author
Christian Couder
<chriscool@tuxfamily.org>
Mon, 17 Sep 2007 03:28:36 +0000
(
05:28
+0200)
committer
Junio C Hamano
<gitster@pobox.com>
Tue, 18 Sep 2007 09:58:23 +0000
(
02:58
-0700)
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-rev-list.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
77c11e0
)
diff --git
a/builtin-rev-list.c
b/builtin-rev-list.c
index 8c9635abeac5f548b4ad4bbc31d6fce79332e1e9..899a31d09ac31aaf1336b5ab3959345ac83a9579 100644
(file)
--- a/
builtin-rev-list.c
+++ b/
builtin-rev-list.c
@@
-189,7
+189,7
@@
static int count_interesting_parents(struct commit *commit)
return count;
}
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!
{
/*
* 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.
*/
* 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:
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)
{
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;
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;
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;
continue;
-
distance = count_distance(p
);
+
weight_set(p, count_distance(p)
);
clear_distance(list);
clear_distance(list);
- weight_set(p, distance);
/* Does it happen to be at exactly half-way? */
/* Does it happen to be at exactly half-way? */
- if (halfway(p,
distance,
nr))
+ if (halfway(p, nr))
return p;
counted++;
}
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? */
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;
}
}
return p;
}
}