[PATCH v8a] bisect: fix 'git bisect run' so that it works with alternate --update-ref

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



An additional patch for the v8 series that ensures that 'git bisect run'
respects .git/BISECT_UPDATE_REF.

Signed-off-by: Jon Seymour <jon.seymour@xxxxxxxxx>
---
 git-bisect.sh               |    5 +++--
 t/t6030-bisect-porcelain.sh |   15 +++++++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/git-bisect.sh b/git-bisect.sh
index ec70cd2..126d698 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -230,8 +230,9 @@ bisect_state() {
 	0,*)
 		die "$(gettext "Please call 'bisect_state' with at least one argument.")" ;;
 	1,bad|1,good|1,skip)
-		rev=$(git rev-parse --verify HEAD) ||
-			die "$(gettext "Bad rev input: HEAD")"
+		ref=${BISECT_UPDATE_REF:-HEAD}
+		rev=$(git rev-parse --verify "$ref") ||
+			die "$(gettext "Bad rev input: $ref")"
 		bisect_write "$state" "$rev"
 		check_expected_revs "$rev" ;;
 	2,bad|*,good|*,skip)
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index fa4366f..40f7a76 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -736,4 +736,19 @@ test \$rc -eq 0;' &&
 	git bisect reset
 "
 
+test_expect_success 'bisect: demonstrate identification of damage boundary using alternate reference' "
+	git bisect reset &&
+	git checkout broken &&
+	git bisect start broken master --no-checkout --update-ref=CURSOR &&
+	git bisect run eval '
+rc=1;
+if git rev-list --objects CURSOR >tmp.$$; then
+   git pack-objects --stdout >/dev/null < tmp.$$ && rc=0;
+fi;
+rm tmp.$$;
+test \$rc -eq 0;' &&
+	check_same BROKEN_HASH6 bisect/bad &&
+	git bisect reset
+"
+
 test_done
-- 
1.7.6.389.gccb79d.dirty

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]