diff options
| author | Роман Донченко <dpb@corrigendum.ru> | 2019-11-02 02:34:27 +0300 |
|---|---|---|
| committer | Paul Mackerras <paulus@ozlabs.org> | 2019-12-15 15:30:50 +1100 |
| commit | f177c49a97d16aab490aa34fa52e113c21de4a1f (patch) | |
| tree | 137a2c5f4b69b2318c763e187e452dc907556ca5 | |
| parent | d4247e06027da5b3ac299fbba3a7443a919ca0ff (diff) | |
| download | git-f177c49a97d16aab490aa34fa52e113c21de4a1f.tar.gz | |
gitk: don't highlight files after submodules as submodules
gitk applies submodule highlighting (coloring lines starting with
" >" and " <") when `currdiffsubmod` is not an empty string.
However, it fails to reset `currdiffsubmod` after a submodule diff
ends, so any file diffs following a submodule diff will still be
highlighted as if they were submodule diffs.
There are two problems with the way gitk tries to reset `currdiffsubmod`:
1. The code says `set $currdiffsubmod` instead of `set currdiffsubmod`,
so it actually sets the variable whose name is the submodule path
instead.
2. It tries to do it after the first line in a submodule diff, which
is incorrect, since submodule diffs can contain multiple lines.
Fix this by resetting `currdiffsubmod` when a file diff starts.
Signed-off-by: Роман Донченко <dpb@corrigendum.ru>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
| -rwxr-xr-x | gitk | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -8150,6 +8150,8 @@ proc parseblobdiffline {ids line} { } # start of a new file set diffinhdr 1 + set currdiffsubmod "" + $ctext insert end "\n" set curdiffstart [$ctext index "end - 1c"] lappend ctext_file_names "" @@ -8233,11 +8235,9 @@ proc parseblobdiffline {ids line} { $ctext insert end "$line\n" filesep } } elseif {$currdiffsubmod != "" && ![string compare -length 3 " >" $line]} { - set $currdiffsubmod "" set line [encoding convertfrom $diffencoding $line] $ctext insert end "$line\n" dresult } elseif {$currdiffsubmod != "" && ![string compare -length 3 " <" $line]} { - set $currdiffsubmod "" set line [encoding convertfrom $diffencoding $line] $ctext insert end "$line\n" d0 } elseif {$diffinhdr} { |
