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

[PATCH 2/2] git-gui: support for diff3 conflict style

From
Bert Wesarg <bert.wesarg@googlemail.com>
Date
Nov 16, 2010, 09:26 UTC
Message-ID
<1289899618-2845-1-git-send-email-bert.wesarg@googlemail.com>
In-Reply-To
<1289899312-2732-1-git-send-email-bert.wesarg@googlemail.com>
This adds highlight support for the diff3 conflict style.

The common pre-image will be reversed to --, because it has been removed and either replaced with our or their side.

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
---
 git-gui/git-gui.sh   |    3 +++
 git-gui/lib/diff.tcl |   10 ++++++++++
 2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 38362fa..0134438 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -3354,6 +3354,9 @@ $ui_diff tag conf d_s- \
 $ui_diff tag conf d< \
 	-foreground orange \
 	-font font_diffbold
+$ui_diff tag conf d| \
+	-foreground orange \
+	-font font_diffbold
 $ui_diff tag conf d= \
 	-foreground orange \
 	-font font_diffbold
diff --git a/git-gui/lib/diff.tcl b/git-gui/lib/diff.tcl
index d4e2ce3..ccd4c70 100644
--- a/git-gui/lib/diff.tcl
+++ b/git-gui/lib/diff.tcl
@@ -339,6 +339,7 @@ proc start_show_diff {cont_info {add_opts {}}} {
 	}
 
 	set ::current_diff_inheader 1
+	set ::in_conflict_pre_image 0
 	fconfigure $fd \
 		-blocking 0 \
 		-encoding [get_path_encoding $path] \
@@ -420,6 +421,15 @@ proc read_diff {fd conflict_size cont_info} {
 					set is_conflict_diff 1
 					set line [string replace $line 0 1 {  }]
 					set tags d$op
+					set ::in_conflict_pre_image 0
+				} elseif {[regexp {^\+\+\|{$conflict_size}(?: |$)} $line]} {
+					set is_conflict_diff 1
+					set line [string replace $line 0 1 {  }]
+					set tags d|
+					set ::in_conflict_pre_image 1
+				} elseif ($::in_conflict_pre_image) {
+					set line [string replace $line 0 1 {--}]
+					set tags d_--
 				} else {
 					set tags d_++
 				}
-- 
tg: (fba7c96..) bw/git-gui/support-diff3 (depends on: master bw/git-gui/respect-conflict-marker-size)
Previous: Bert WesargNext: Pat Thoyts
Message 3 of 11 in “git-gui: respect conflict marker size”
  1. git-gui: respect conflict marker sizeBert Wesarg, Nov 16, 2010
  2. 1/2 git-gui: respect conflict marker sizeBert Wesarg, Nov 16, 2010
  3. 2/2 git-gui: support for diff3 conflict styleBert Wesarg, Nov 16, 2010
  4. Pat ThoytsNov 19, 2010
  5. Bert WesargNov 19, 2010
  6. Bert WesargFeb 27, 2011
  7. 2/2 git-gui: support for diff3 conflict styleBert Wesarg, Mar 30, 2011
  8. git-gui: support for diff3 conflict styleBert Wesarg, Mar 30, 2011
  9. Bert WesargOct 20, 2011
  10. Pat ThoytsNov 19, 2010
  11. Bert WesargNov 19, 2010

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.