summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 8c76212)
raw | patch | inline | side by side (parent: 8c76212)
author | Johannes Sixt <johannes.sixt@telecom.at> | |
Tue, 14 Oct 2008 11:48:37 +0000 (13:48 +0200) | ||
committer | Shawn O. Pearce <spearce@spearce.org> | |
Sat, 1 Nov 2008 23:12:29 +0000 (16:12 -0700) |
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>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
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>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
lib/diff.tcl | patch | blob | history |
diff --git a/lib/diff.tcl b/lib/diff.tcl
index bdcbbf86e9f9b038e22cf689b89004c441983c5f..94ee38cccc1ee9a43f8dd1309353609b283d8af5 100644 (file)
--- a/lib/diff.tcl
+++ b/lib/diff.tcl
{+} {
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_+