Re: git-bisect feature suggestion: "git-bisect diff"
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 7, 2007, 09:58 UTC
- Message-ID
- <7v63za4yic.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20071207093439.GA21896@elte.hu>
Ingo Molnar <mingo@elte.hu> writes:
Show 8 quoted lines
> would be nice to have: > > git-bisect diff > > that enables one to have a look at the currently open bisection window, > in git-log -p format. This would often be much faster to analyze than > looking at git-bisect visualize. (and it could also be used in non-GUI > workflows)
Hmm. It is very unfortunate that "bisect log" is taken for something unrelated, so tentatively let's call it lumber.
$ git bisect lumber [-p] [--stat]
would give you the short-hand, hopefully.
---
git-bisect.sh | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/git-bisect.sh b/git-bisect.sh index 7a6521e..ee26624 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -1,6 +1,6 @@ #!/bin/sh -USAGE='[start|bad|good|skip|next|reset|visualize|replay|log|run]' +USAGE='[start|bad|good|skip|next|reset|visualize|log|replay|lumber|run]' LONG_USAGE='git bisect start [<bad> [<good>...]] [--] [<pathspec>...] reset bisect state and start bisection. git bisect bad [<rev>] @@ -15,6 +15,8 @@ git bisect reset [<branch>] finish bisection search and go back to branch. git bisect visualize show bisect status in gitk. +git bisect lumber + show bisect status in git log. git bisect replay <logfile> replay bisection log. git bisect log @@ -328,6 +330,12 @@ bisect_visualize() { eval gitk refs/bisect/bad --not $not -- $(cat "$GIT_DIR/BISECT_NAMES") } +bisect_lumber() { + bisect_next_check fail + not=$(git for-each-ref --format='%(refname)' "refs/bisect/good-*") + eval git log "$@" refs/bisect/bad --not $not -- $(cat "$GIT_DIR/BISECT_NAMES") +} + bisect_reset() { test -f "$GIT_DIR/BISECT_NAMES" || { echo "We are not bisecting." @@ -451,6 +459,8 @@ case "$#" in bisect_next "$@" ;; visualize) bisect_visualize "$@" ;; + lumber) + bisect_lumber "$@" ;; reset) bisect_reset "$@" ;; replay)