threads / patch / 15891

patchgit-gui: Do not munge conflict marker lines in a normal diff

Subject: [PATCH] git-gui: Do not munge conflict marker lines in a normal diff

## tl;dr

One message between Oct 14, 2008 and Oct 14, 2008. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Johannes Sixt· Oct 14, 2008, 11:48 UTC · lore
From: Johannes Sixt <johannes.sixt@telecom.at>

Previously, conflict markers were highlighted in two ways: (1) They received a distinguishing color; and (2) they had the '+' removed at the beginning of the line. However, by doing (2), a hunk that contained conflict markers could not be staged or unstaged because the resulting patch was corrupted. With this change we no longer modify the diff text of a 2-way diff, so that "Stage Hunk" and friends work.

Note that 3-way diff of a conflicted file is unaffected by this change, and '++' before conflict markers is still removed. But this has no negative impact because in this mode staging hunks or lines is disabled anyway.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
---
 lib/diff.tcl |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
Show changes to lib/diff.tcl +0 −1
diff --git a/lib/diff.tcl b/lib/diff.tcl
index bdcbbf8..94ee38c 100644
--- a/lib/diff.tcl
+++ b/lib/diff.tcl
@@ -377,7 +377,6 @@ proc read_diff {fd cont_info} {
 			{+} {
 				if {[regexp {^\+([<>]{7} |={7})} $line _g op]} {
 					set is_conflict_diff 1
-					set line [string replace $line 0 0 { }]
 					set tags d$op
 				} else {
 					set tags d_+
-- 
1.6.0.2.1493.g2969e

← back to recent threads