diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2007-08-23 02:44:13 -0400 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2007-08-23 02:44:13 -0400 |
commit | 9c9f5fa97fe078b59be14a6bcabb851745ddd48c (patch) | |
tree | fec2e9c14273135ca42b767048f598fda1fd7dc6 | |
parent | 9f4119eb7651c7898f385198409be4ca051bc7ef (diff) | |
download | git-9c9f5fa97fe078b59be14a6bcabb851745ddd48c.tar.gz |
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 <spearce@spearce.org>
-rwxr-xr-x | git-gui.sh | 4 |
1 files changed, 4 insertions, 0 deletions
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 } |