# [PATCH 3/3] rev-list --bisect: Bisection "distance" clean up.

4 messages from 2007-09-15 to 2007-09-16. Participants: Christian Couder, Johannes Schindelin, Junio C Hamano.
Thread: https://gitlist.dev/t/9865

## Christian Couder, 2007-09-15 11:00

Subject: [PATCH 3/3] rev-list --bisect: Bisection "distance" clean up.
Message-ID: <20070915130016.eac885f4.chriscool@tuxfamily.org>
URL: https://gitlist.dev/e/20070915130016.eac885f4.chriscool%40tuxfamily.org

```
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 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 c2ce1fc..6ade3b7 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:
@@ -322,7 +321,7 @@ static struct commit_list *find_bisection(struct commit_list *list,
 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;
@@ -373,15 +372,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++;
 	}
@@ -419,8 +416,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;
 		}
 	}
-- 
1.5.3.1.20.g2a16-dirty

```

## Johannes Schindelin, 2007-09-15 11:15

Subject: Re: [PATCH 3/3] rev-list --bisect: Bisection "distance" clean up.
Message-ID: <Pine.LNX.4.64.0709151215090.28586@racer.site>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0709151215090.28586%40racer.site
In-Reply-To: <20070915130016.eac885f4.chriscool@tuxfamily.org>

```
Hi Christian,

you did not provide any meaningful commit message.  I feel that this would 
be needed in this case, _especially_ since there was no cover letter to 
describe what the heck this patch series fixes.

Ciao,
Dscho

```

## Christian Couder, 2007-09-15 11:47

Subject: Re: [PATCH 3/3] rev-list --bisect: Bisection "distance" clean up.
Message-ID: <200709151347.43744.chriscool@tuxfamily.org>
URL: https://gitlist.dev/e/200709151347.43744.chriscool%40tuxfamily.org
In-Reply-To: <Pine.LNX.4.64.0709151215090.28586@racer.site>

```
Hi Dscho,

These are a bunch of cleanup patchs that I had already sent.

See:
http://thread.gmane.org/gmane.comp.version-control.git/54345
http://thread.gmane.org/gmane.comp.version-control.git/54346
http://thread.gmane.org/gmane.comp.version-control.git/54344
http://thread.gmane.org/gmane.comp.version-control.git/54347

Yeah, I should have said it somewhere, sorry about that.

Christian.

Le samedi 15 septembre 2007, Johannes Schindelin a écrit :
> Hi Christian,
>
> you did not provide any meaningful commit message.  I feel that this
> would be needed in this case, _especially_ since there was no cover
> letter to describe what the heck this patch series fixes.
>
> Ciao,
> Dscho
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

```

## Junio C Hamano, 2007-09-16 08:54

Subject: Re: [PATCH 3/3] rev-list --bisect: Bisection "distance" clean up.
Message-ID: <7vfy1f56tt.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vfy1f56tt.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <20070915130016.eac885f4.chriscool@tuxfamily.org>

```
Christian Couder <chriscool@tuxfamily.org> writes:

> diff --git a/builtin-rev-list.c b/builtin-rev-list.c
> index c2ce1fc..6ade3b7 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)
>  {

This makes sense as we always call with "distance = weight(p)".

But is this three-patch series really needed?  We see this kind
of clean-ups often as a prelude to a larger set of enhancements,
building up anticipation for smarter and more beautiful things
to come, and seeing the series end here leaves me wondering
"Huh?  Is that it?".

Not that clean-up itself does not have any value, but still...

```
