Shawn O. Pearce  committed 881d8f2

git-gui: Fix detaching current branch during checkout

If the user tried to detach their HEAD while keeping the working
directory on the same commit we actually did not completely do
a detach operation internally. The problem was caused by git-gui
not forcing the HEAD symbolic ref to be updated to a SHA-1 hash
when we were not switching revisions. Now we update the HEAD ref
if we aren't currently detached or the hashes don't match.

Signed-off-by: Shawn O. Pearce <>

  • Participants
  • Parent commits 6e4ba05

Comments (0)

Files changed (1)

File lib/checkout_op.tcl

 			set is_detached 0
 	} else {
-		if {$new_hash ne $HEAD} {
+		if {!$is_detached || $new_hash ne $HEAD} {
 			append log " to $new_expr"
 			if {[catch {
 					_detach_HEAD $log $new_hash