summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-09-02 21:30:26 +0200
committerShawn O. Pearce <spearce@spearce.org>2007-09-04 05:01:44 +0200
commit881d8f24cab5bf4e0fa71b17a3ab82e27b2e8ed7 (patch)
treeb6d9e239421b40eebe456021731344e09b803547
parentgit-gui: Correct starting of git-remote to handle -w option (diff)
downloadgit-881d8f24cab5bf4e0fa71b17a3ab82e27b2e8ed7.tar.xz
git-881d8f24cab5bf4e0fa71b17a3ab82e27b2e8ed7.zip
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 <spearce@spearce.org>
-rw-r--r--lib/checkout_op.tcl2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/checkout_op.tcl b/lib/checkout_op.tcl
index 170f737f61..76f04f2854 100644
--- a/lib/checkout_op.tcl
+++ b/lib/checkout_op.tcl
@@ -396,7 +396,7 @@ method _after_readtree {} {
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