From: Jeff King <peff@peff.net>
To: Junio C Hamano <junkio@cox.net>
Cc: Nguyen Thai Ngoc Duy <pclouds@gmail.com>, git@vger.kernel.org
Subject: Re: Clueless bisect error message
Date: Wed, 11 Oct 2006 05:14:12 -0400 [thread overview]
Message-ID: <20061011091411.GA21527@coredump.intra.peff.net> (raw)
In-Reply-To: <7v1wpfuv9d.fsf@assigned-by-dhcp.cox.net>
On Wed, Oct 11, 2006 at 01:11:42AM -0700, Junio C Hamano wrote:
> But I suspect that doing either of these things would harm
> Cogito users. After cg-seek the user is not "in the middle of
> another bisect", and if we run "git bisect --reset" when we see
> head-name, it would probably break it too.
Maybe expand head-name to include a "reason" field? Unfortunately we
can't just stick it in the same file and remain compatible with all
versions, so we'll have to use a new file. Something like:
-- >8 --
git-bisect: use head-reason to explain use of head-name
Since many different programs may use head-name to indicate that the working
tree should not be modified, head-reason gives them a chance to explain what
they're doing. This can improve the accuracy of error messages (such as won't
bisect a seeked tree).
Signed-off-by: Jeff King <peff@peff.net>
---
Alternatively, the actual message to show the user could be placed in
head-reason. I think it makes more sense as it is, as it provides the
ability for the message to say "can't X because of Y" in plain English.
And of course we need cogito to start supporting this (but we print
something sane for older versions with don't support head-reason).
git-bisect.sh | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/git-bisect.sh b/git-bisect.sh
index 06a8d26..9f49dd3 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -57,8 +57,21 @@ bisect_start() {
git checkout $branch || exit
;;
refs/heads/*)
- [ -s "$GIT_DIR/head-name" ] && die "won't bisect on seeked tree"
+ if [ -s "$GIT_DIR/head-name" ]; then
+ case "$(cat "$GIT_DIR/head-reason" 2>/dev/null)" in
+ bisect)
+ die "You are already in the middle of another bisect!"
+ ;;
+ seek)
+ die "You can't bisect a seeked tree!"
+ ;;
+ *)
+ die "head-name already exists"
+ ;;
+ esac
+ fi
echo "$head" | sed 's#^refs/heads/##' >"$GIT_DIR/head-name"
+ echo bisect >"$GIT_DIR/head-reason"
;;
*)
die "Bad HEAD - strange symbolic ref"
@@ -182,6 +195,7 @@ bisect_reset() {
git checkout "$branch" &&
rm -fr "$GIT_DIR/refs/bisect"
rm -f "$GIT_DIR/refs/heads/bisect" "$GIT_DIR/head-name"
+ rm -f "$GIT_DIR/head-reason"
rm -f "$GIT_DIR/BISECT_LOG"
rm -f "$GIT_DIR/BISECT_NAMES"
}
--
1.4.2.3.g2c59-dirty
>
> -
> 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
next prev parent reply other threads:[~2006-10-11 9:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-11 7:08 Clueless bisect error message Nguyen Thai Ngoc Duy
2006-10-11 7:22 ` Junio C Hamano
2006-10-11 7:50 ` Nguyen Thai Ngoc Duy
2006-10-11 8:11 ` Junio C Hamano
2006-10-11 8:30 ` Nguyen Thai Ngoc Duy
2006-10-11 9:14 ` Jeff King [this message]
2006-10-11 12:51 ` Krzysztof Halasa
2006-10-11 18:04 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20061011091411.GA21527@coredump.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=pclouds@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).