gitk: Implement batch lookup and caching of encoding attrs
gitk: Implement batch lookup and caching of encoding attrs

When the diff contains thousands of files, calling git-check-attr once
per file is very slow.  With this patch gitk does attribute lookup in
batches of 30 files while reading the diff file list, which leads to a
very noticeable speedup.

It may be possible to reimplement this even more efficiently, if
git-check-attr is modified to support a --stdin-paths option.
Additionally, it should quote the ':' character in file paths, or
provide a more robust way of column separation.

Signed-off-by: Alexander Gavrilov <75c96f70141fec65a655d202cd4821a09cb99fd1@gmail.com>
Tested-by: Johannes Sixt <5cc107486946fdcf16e86d7c808fa50f4312125f@telecom.at>
Signed-off-by: Paul Mackerras <19a0ba370c443ba08d20b5061586430ab449ee8c@samba.org>

destenson/git,destenson/git,destenson/git,destenson/git,destenson/git,destenson/git,destenson/git,destenson/git