From 9c9f5fa97fe078b59be14a6bcabb851745ddd48c Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 23 Aug 2007 02:44:13 -0400 Subject: [PATCH] git-gui: Do not offer to stage three-way diff hunks into the index git-apply does not accept a patch that was generated as a three-way combined diff format such as we see during merge conflicts. If we get such a diff in our diff viewer and try to send it to git-apply it just errors out and the user is left confused wondering why they cannot stage that hunk. Instead of feeding a known to be unacceptable hunk to git-apply we now just disable the stage/unstage context menu option if the hunk came from a three way diff. The user may still be confused about why they cannot work with a combined diff, but at least they are only confused as to why git-gui is not offering them the action. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/git-gui.sh b/git-gui.sh index 559b62be03..743b7d4196 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -738,6 +738,7 @@ set empty_tree {} set current_branch {} set is_detached 0 set current_diff_path {} +set is_3way_diff 0 set selected_commit_type new ###################################################################### @@ -2444,6 +2445,9 @@ proc popup_diff_menu {ctxm x y X Y} { } set l "Stage Hunk For Commit" } + if {$::is_3way_diff} { + set s disabled + } $ctxm entryconf $::ui_diff_applyhunk -state $s -label $l tk_popup $ctxm $X $Y }