git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Bisect visualize: use "for-each-ref" to list all good refs.
@ 2007-11-14  4:50 Christian Couder
  2007-11-14  8:11 ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Christian Couder @ 2007-11-14  4:50 UTC (permalink / raw)
  To: Junio Hamano; +Cc: git, Paul Mackerras

In bisect_visualize, "cd $GIT_DIR/refs && echo bisect/good-*" was
still used instead of "git for-each-ref". This patch fix it.

We now pass "refs/bisect/bad" and "--not refs/bisect/good-<rev>"
instead of "bisect/bad" and "--not bisect/good-<rev>" to gitk,
but it seems to work.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 git-bisect.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/git-bisect.sh b/git-bisect.sh
index 1ed44e5..8d75d91 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -326,8 +326,8 @@ bisect_next() {
 
 bisect_visualize() {
 	bisect_next_check fail
-	not=`cd "$GIT_DIR/refs" && echo bisect/good-*`
-	eval gitk bisect/bad --not $not -- $(cat "$GIT_DIR/BISECT_NAMES")
+	not=$(git for-each-ref --format='%(refname)' "refs/bisect/good-*")
+	eval gitk refs/bisect/bad --not $not -- $(cat "$GIT_DIR/BISECT_NAMES")
 }
 
 bisect_reset() {
-- 
1.5.3.5.629.g807b3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] Bisect visualize: use "for-each-ref" to list all good refs.
  2007-11-14  4:50 [PATCH] Bisect visualize: use "for-each-ref" to list all good refs Christian Couder
@ 2007-11-14  8:11 ` Junio C Hamano
  2007-11-14 10:05   ` Johannes Sixt
  2007-11-15  6:43   ` Christian Couder
  0 siblings, 2 replies; 4+ messages in thread
From: Junio C Hamano @ 2007-11-14  8:11 UTC (permalink / raw)
  To: Christian Couder; +Cc: git

Christian Couder <chriscool@tuxfamily.org> writes:

> In bisect_visualize, "cd $GIT_DIR/refs && echo bisect/good-*" was
> still used instead of "git for-each-ref". This patch fix it.

Heh, it still uses

	echo "$rev" >"$GIT_DIR/refs/bisect/$tag"

So we are still _very_ much tied to refs on the filesystem not
in packed-refs.

Even worse is that bisect_clean_state uses

	rm -fr "$GIT_DIR/refs/bisect"

so if you ever pack your refs in the middle of bisection and
then clean the state, you will still carry the old good set of
commits that are somewhat hard to cull.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Bisect visualize: use "for-each-ref" to list all good refs.
  2007-11-14  8:11 ` Junio C Hamano
@ 2007-11-14 10:05   ` Johannes Sixt
  2007-11-15  6:43   ` Christian Couder
  1 sibling, 0 replies; 4+ messages in thread
From: Johannes Sixt @ 2007-11-14 10:05 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Christian Couder, git

Junio C Hamano schrieb:
> Even worse is that bisect_clean_state uses
> 
> 	rm -fr "$GIT_DIR/refs/bisect"
> 
> so if you ever pack your refs in the middle of bisection and
> then clean the state, you will still carry the old good set of
> commits that are somewhat hard to cull.

Heh. I think I'd done this once, and couldn't get rid of those refs with 
'git-bisect reset'. Now I know why.

-- Hannes

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Bisect visualize: use "for-each-ref" to list all good refs.
  2007-11-14  8:11 ` Junio C Hamano
  2007-11-14 10:05   ` Johannes Sixt
@ 2007-11-15  6:43   ` Christian Couder
  1 sibling, 0 replies; 4+ messages in thread
From: Christian Couder @ 2007-11-15  6:43 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Johannes Sixt

Le mercredi 14 novembre 2007, Junio C Hamano a écrit :
> Christian Couder <chriscool@tuxfamily.org> writes:
> > In bisect_visualize, "cd $GIT_DIR/refs && echo bisect/good-*" was
> > still used instead of "git for-each-ref". This patch fix it.
>
> Heh, it still uses
>
> 	echo "$rev" >"$GIT_DIR/refs/bisect/$tag"
>
> So we are still _very_ much tied to refs on the filesystem not
> in packed-refs.

Yes, but someone (guess who) started to modernize git-bisect by 
using "for-each-ref":

http://git.kernel.org/?p=git/git.git;a=commitdiff;h=6fecf1915c5fd0b14e2ca2ec9e1a6b620abfb5c2
http://git.kernel.org/?p=git/git.git;a=commitdiff;h=0a5280a9f444c33b0e4ebf2f073df5899c112cf8

so I thought it would be fine to finish this modernization work.

> Even worse is that bisect_clean_state uses
>
> 	rm -fr "$GIT_DIR/refs/bisect"
>
> so if you ever pack your refs in the middle of bisection and
> then clean the state, you will still carry the old good set of
> commits that are somewhat hard to cull.

Thanks for reminding me of this problem. I just posted a patch that should 
fix it.

Best regards,
Christian.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-11-15  6:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-14  4:50 [PATCH] Bisect visualize: use "for-each-ref" to list all good refs Christian Couder
2007-11-14  8:11 ` Junio C Hamano
2007-11-14 10:05   ` Johannes Sixt
2007-11-15  6:43   ` Christian Couder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).