Skip to content

Commit

Permalink
git-bisect: modernize branch shuffling hack
Browse files Browse the repository at this point in the history
When switching to a new rev, we first made "new-bisect" branch to
point at the chosen commit, attempt to switch to it, and then
finally renamed the new-bisect branch to bisect by hand when
successful.  This is so that we can catch checkout failure (your
local modification may interfere with switching to the chosen
version) without losing information on which commit the next
attempt should be made.

Rewrite it using a more modern form but without breaking the
safety.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Junio C Hamano committed Nov 16, 2007
1 parent 3d7cd64 commit 0bee49c
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions git-bisect.sh
Original file line number Diff line number Diff line change
Expand Up @@ -316,10 +316,9 @@ bisect_next() {
exit_if_skipped_commits "$bisect_rev"

echo "Bisecting: $bisect_nr revisions left to test after this"
echo "$bisect_rev" >"$GIT_DIR/refs/heads/new-bisect"
git branch -f new-bisect "$bisect_rev"
git checkout -q new-bisect || exit
mv "$GIT_DIR/refs/heads/new-bisect" "$GIT_DIR/refs/heads/bisect" &&
GIT_DIR="$GIT_DIR" git symbolic-ref HEAD refs/heads/bisect
git branch -M new-bisect bisect
git show-branch "$bisect_rev"
}

Expand Down

0 comments on commit 0bee49c

Please sign in to comment.