aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Voigt <hvoigt@hvoigt.net>2011-02-15 19:43:54 +0000
committerPat Thoyts <patthoyts@users.sourceforge.net>2011-05-20 22:49:15 +0100
commite34789cc8ba45d5491c007274b41849d3b0b84b7 (patch)
tree4b22d78a711f6b43e9ab20253adbe664aba2e4f8
parent1cac41f8eaf00e3e8837bf8aab12fc317a5b8a21 (diff)
downloadgit-e34789cc8ba45d5491c007274b41849d3b0b84b7.tar.gz
git-e34789cc8ba45d5491c007274b41849d3b0b84b7.tar.xz
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 <hvoigt@hvoigt.net> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
-rwxr-xr-xgit-gui.sh1
-rw-r--r--lib/commit.tcl15
2 files changed, 16 insertions, 0 deletions
diff --git a/git-gui.sh b/git-gui.sh
index fd6a43d0a..470b13528 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -854,6 +854,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/lib/commit.tcl b/lib/commit.tcl
index 5ce46877b..372bed994 100644
--- a/lib/commit.tcl
+++ b/lib/commit.tcl
@@ -260,8 +260,23 @@ 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 retrieve them later from the reflog. You should probably cancel this\
+commit and create a new branch to continue.\n\
+\n\
+Do you really want to proceed with your Commit?"]
+ if {[ask_popup $msg] ne yes} {
+ unlock_index
+ return
+ }
+ }
+
# -- Run the commit-msg hook.
#
set fd_ph [githook_read commit-msg $msg_p]