зеркало из https://github.com/microsoft/git.git
gitk: Handle blobs containing a DOS end-of-file marker
If a patchset contains an EOF marker (Ctrl-Z) the blob diff terminates at that point. This permits gitk to ignore the eof and continue to display any subsequent blobs and also displays a sensible representation of the eof char. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Родитель
52b8ea934e
Коммит
681c3290e3
5
gitk
5
gitk
|
@ -7216,7 +7216,7 @@ proc getblobdiffs {ids} {
|
||||||
set diffnparents 0
|
set diffnparents 0
|
||||||
set diffinhdr 0
|
set diffinhdr 0
|
||||||
set diffencoding [get_path_encoding {}]
|
set diffencoding [get_path_encoding {}]
|
||||||
fconfigure $bdf -blocking 0 -encoding binary
|
fconfigure $bdf -blocking 0 -encoding binary -eofchar {}
|
||||||
set blobdifffd($ids) $bdf
|
set blobdifffd($ids) $bdf
|
||||||
filerun $bdf [list getblobdiffline $bdf $diffids]
|
filerun $bdf [list getblobdiffline $bdf $diffids]
|
||||||
}
|
}
|
||||||
|
@ -7367,7 +7367,8 @@ proc getblobdiffline {bdf ids} {
|
||||||
$ctext insert end "$line\n" filesep
|
$ctext insert end "$line\n" filesep
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
set line [encoding convertfrom $diffencoding $line]
|
set line [string map {\x1A ^Z} \
|
||||||
|
[encoding convertfrom $diffencoding $line]]
|
||||||
# parse the prefix - one ' ', '-' or '+' for each parent
|
# parse the prefix - one ' ', '-' or '+' for each parent
|
||||||
set prefix [string range $line 0 [expr {$diffnparents - 1}]]
|
set prefix [string range $line 0 [expr {$diffnparents - 1}]]
|
||||||
set tag [expr {$diffnparents > 1? "m": "d"}]
|
set tag [expr {$diffnparents > 1? "m": "d"}]
|
||||||
|
|
Загрузка…
Ссылка в новой задаче