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>
This commit is contained in:
parent
9f4119eb76
commit
9c9f5fa97f
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user