summaryrefslogtreecommitdiff
path: root/git-gui.sh
diff options
context:
space:
mode:
authorLibravatar Shawn O. Pearce <spearce@spearce.org>2007-07-29 20:29:52 -0400
committerLibravatar Shawn O. Pearce <spearce@spearce.org>2007-07-29 23:44:51 -0400
commit37e2199c4c5b45e060f973097d814726cabe2a86 (patch)
tree229c4a2dce08c358e14c5bbe94a22ac51c6484f9 /git-gui.sh
parentgit-gui: Make sure remotes are loaded when picking revisions (diff)
downloadtgif-37e2199c4c5b45e060f973097d814726cabe2a86.tar.xz
git-gui: Don't offer to stage hunks from untracked files
If the user looks at an untracked file in our diff pane we used to offer "Stage Hunk For Commit" in the context menu when they right-clicked in that pane. The problem is we don't actually have any diff hunks in untracked files, so there is nothing to really select for staging. So we now grey out the menu item, so the user cannot invoke it and think its broken when it does not perform any useful action. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'git-gui.sh')
-rwxr-xr-xgit-gui.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/git-gui.sh b/git-gui.sh
index 4e3b58cfd3..0180756155 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -2437,9 +2437,15 @@ proc popup_diff_menu {ctxm x y X Y} {
set ::cursorY $y
if {$::ui_index eq $::current_diff_side} {
$ctxm entryconf $::ui_diff_applyhunk \
+ -state normal \
-label {Unstage Hunk From Commit}
+ } elseif {{_O} eq [lindex $::file_states($::current_diff_path) 0]} {
+ $ctxm entryconf $::ui_diff_applyhunk \
+ -state disabled \
+ -label {Stage Hunk For Commit}
} else {
$ctxm entryconf $::ui_diff_applyhunk \
+ -state normal \
-label {Stage Hunk For Commit}
}
tk_popup $ctxm $X $Y