Re: [PATCH] git-gui: give more advice when detaching HEAD
From: Heiko Voigt <hidden>
Date: 2016-06-15 22:50:33
Subsystem:
the rest · Maintainer:
Linus Torvalds
Hi, On Sat, Feb 12, 2011 at 02:05:38AM -0500, Jeff King wrote:
1. Give some indication or warning during commit that you're in a
detached state. The CLI template says "You are not on any branch"
when editing the commit message, and mentions "detached HEAD" as
the branch in the post-commit summary. As far as I can tell,
git-gui says nothing at all.How about something like this: ---8<---- From 8e2b61cd5e8d85f43ed6f00935a757f0dfa56b3b Mon Sep 17 00:00:00 2001 From: Heiko Voigt <redacted> Date: Sun, 13 Feb 2011 13:25:04 +0100 Subject: [PATCH] git-gui: warn when trying to commit on a detached head The commandline is already warning when checking out a detached head. Since the only thing thats potentially dangerous is to create commits on a detached head lets warn in case the user is about to do that. Signed-off-by: Heiko Voigt <redacted> --- The wording of the warning might need some cleanup and documentation of the configuration variable is still missing but if you like it I will add it. git-gui/git-gui.sh | 1 + git-gui/lib/commit.tcl | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index d3acf0d..5314a3f 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh@@ -831,6 +831,7 @@ set default_config(gui.fontdiff) [font configure font_diff] # TODO: this option should be added to the git-config documentation set default_config(gui.maxfilesdisplayed) 5000 set default_config(gui.usettk) 1 +set default_config(gui.warndetachedcommit) 1 set font_descs { {fontui font_ui {mc "Main Font"}} {fontdiff font_diff {mc "Diff/Console Font"}}
diff --git a/git-gui/lib/commit.tcl b/git-gui/lib/commit.tcl
index 7f459cd..9bef8ee 100644
--- a/git-gui/lib/commit.tcl
+++ b/git-gui/lib/commit.tcl@@ -259,8 +259,22 @@ proc commit_prehook_wait {fd_ph curHEAD msg_p} { } proc commit_commitmsg {curHEAD msg_p} { + global is_detached repo_config global pch_error + if {$is_detached && $repo_config(gui.warndetachedcommit)} { + set msg [mc "You are about to commit on a detached head. +This is a potentially dangerous thing to do because +if you switch to another branch you will loose your +changes and it can be difficult to get them back. + +Do you really want to proceed?"] + if {[ask_popup $msg] ne yes} { + unlock_index + return + } + } + # -- Run the commit-msg hook. # set fd_ph [githook_read commit-msg $msg_p]
--
1.7.4.rc3.4.g155c4