git-gui: Restore ability to Stage Working Copy for conflicts.

Tools like rerere leave files marked as conflicts in the index,
while actually resolving them in the working copy. Also, some
people like to use an external editor to resolve conflicts.

This patch restores functionality previously removed in
commit 617ceee653 by adding a new context menu item.
It still ensures that the user does not stage conflicting files
accidentally by clicking on the icon instead of the name.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Tested-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
Alexander Gavrilov 2008-09-08 20:37:11 +04:00 коммит произвёл Shawn O. Pearce
Родитель a9786bb42f
Коммит 2fe5b2ee42
2 изменённых файлов: 11 добавлений и 0 удалений

Просмотреть файл

@ -2902,6 +2902,11 @@ $ctxmmg add command \
-command {merge_resolve_one 1} -command {merge_resolve_one 1}
lappend diff_actions [list $ctxmmg entryconf [$ctxmmg index last] -state] lappend diff_actions [list $ctxmmg entryconf [$ctxmmg index last] -state]
$ctxmmg add separator $ctxmmg add separator
$ctxmmg add command \
-label [mc "Stage Working Copy"] \
-command {merge_resolve_one 0}
lappend diff_actions [list $ctxmmg entryconf [$ctxmmg index last] -state]
$ctxmmg add separator
create_common_diff_popup $ctxmmg create_common_diff_popup $ctxmmg
proc popup_diff_menu {ctxm ctxmmg x y X Y} { proc popup_diff_menu {ctxm ctxmmg x y X Y} {

Просмотреть файл

@ -5,6 +5,12 @@ proc merge_resolve_one {stage} {
global current_diff_path global current_diff_path
switch -- $stage { switch -- $stage {
0 { # Stage without confirmation, to minimize
# disruption of the rerere workflow
merge_add_resolution $current_diff_path
return
}
1 { set target [mc "the base version"] } 1 { set target [mc "the base version"] }
2 { set target [mc "this branch"] } 2 { set target [mc "this branch"] }
3 { set target [mc "the other branch"] } 3 { set target [mc "the other branch"] }