git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH (GIT-GUI FIX)] git-gui: Restore ability to Stage Working Copy for conflicts.

From
Alexander Gavrilov <angavrilov@gmail.com>
Date
Sep 8, 2008, 16:37 UTC
Message-ID
<200809082037.12173.angavrilov@gmail.com>

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>
---
 git-gui.sh        |    5 +++++
 lib/mergetool.tcl |    6 ++++++
 2 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index d227eca..a732ef1 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -2984,6 +2984,11 @@ $ctxmmg add command \
 	-command {merge_resolve_one 1}
 lappend diff_actions [list $ctxmmg entryconf [$ctxmmg index last] -state]
 $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
 
 proc popup_diff_menu {ctxm ctxmmg x y X Y} {
diff --git a/lib/mergetool.tcl b/lib/mergetool.tcl
index 79c58bc..dd2315b 100644
--- a/lib/mergetool.tcl
+++ b/lib/mergetool.tcl
@@ -5,6 +5,12 @@ proc merge_resolve_one {stage} {
 	global current_diff_path
 
 	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"] }
 		2 { set target [mc "this branch"] }
 		3 { set target [mc "the other branch"] }
-- 
1.6.0.20.g6148bc
Next: Johannes Sixt
Message 1 of 2 in “git-gui: Restore ability to Stage Working Copy for conflicts.”
  1. git-gui: Restore ability to Stage Working Copy for conflicts.Alexander Gavrilov, Sep 8, 2008
  2. Johannes SixtSep 9, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.