'git diff' command doesn't honor utf8 symbol boundaries, and doesn't use actual terminal width

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The fragment of 'git diff' output looks like this:
- <translation>Ошибка: адрес %1 содержит запрещенные символы. Пожалуйста, перепро� + <translation>Ошибка: адрес %1 содержит запрещённые символы. Пожалуйста, перепро�

Two issues here:
1. Cyrilic text in utf8 got truncated not at utf8 boundary, causing this garbage symbol in the end 2. Truncation is done at somewhat ~70% of the actual screen width. git could go all the way to the whole screen with, but it didn't. Shrinking terminal width causes the output truncation limit to shrink in the same proportion. So some bad decision about truncation size is made somewhere in 'git diff' command.

Suggested behavior:
1. git should respect utf8, and in case of truncation it should add … symbol. 2. truncation algorithm should read current terminal width and truncate at width-1 length to allow for the above-mentioned symbol

Yuri
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]