mirror of
https://github.com/git/git.git
synced 2024-10-30 05:47:53 +01:00
Merge branch 'maint'
* maint: git-gui: Fix diff parsing for lines starting with "--" or "++"
This commit is contained in:
commit
95b6a2db25
1 changed files with 11 additions and 7 deletions
18
lib/diff.tcl
18
lib/diff.tcl
|
@ -276,6 +276,7 @@ proc start_show_diff {scroll_pos {add_opts {}}} {
|
|||
return
|
||||
}
|
||||
|
||||
set ::current_diff_inheader 1
|
||||
fconfigure $fd \
|
||||
-blocking 0 \
|
||||
-encoding binary \
|
||||
|
@ -292,18 +293,21 @@ proc read_diff {fd scroll_pos} {
|
|||
while {[gets $fd line] >= 0} {
|
||||
# -- Cleanup uninteresting diff header lines.
|
||||
#
|
||||
if { [string match {diff --git *} $line]
|
||||
|| [string match {diff --cc *} $line]
|
||||
|| [string match {diff --combined *} $line]
|
||||
|| [string match {--- *} $line]
|
||||
|| [string match {+++ *} $line]} {
|
||||
append current_diff_header $line "\n"
|
||||
continue
|
||||
if {$::current_diff_inheader} {
|
||||
if { [string match {diff --git *} $line]
|
||||
|| [string match {diff --cc *} $line]
|
||||
|| [string match {diff --combined *} $line]
|
||||
|| [string match {--- *} $line]
|
||||
|| [string match {+++ *} $line]} {
|
||||
append current_diff_header $line "\n"
|
||||
continue
|
||||
}
|
||||
}
|
||||
if {[string match {index *} $line]} continue
|
||||
if {$line eq {deleted file mode 120000}} {
|
||||
set line "deleted symlink"
|
||||
}
|
||||
set ::current_diff_inheader 0
|
||||
|
||||
# -- Automatically detect if this is a 3 way diff.
|
||||
#
|
||||
|
|
Loading…
Reference in a new issue