This patch adds support of textconv to git-gui blame. It is based on the work already done here: http://mid.gmane.org/1275562038-7468-1-git-send-email-axel.bonnet@ensimag.imag.fr, and uses a git-gui patch done by Clemens Buchacher (http://mid.gmane.org/20100415193944.GA5848@localhost) which adds textconv support to git-gui diff.
git-gui blame is based on cat-file to get the content of the file in different revisions. So the patch adds textconv support to cat-file.
After a discussion with Jeff King and Matthieu Moy, it appears that creating a context cache is a good way to know the pathname of the concerned blob, as textconv needs a pathname to work. The first part of the patch adds this cache
Clément Poulain (4):
sha1_name: creating context cache
textconv: support for cat-file
git-gui: use textconv filter for diff and blame
t/t8007: test textconv support for cat-file
builtin/blame.c | 8 ++--
builtin/cat-file.c | 24 ++++++++++++++-
cache.h | 8 +++++
git-gui/git-gui.sh | 28 +++++++++++++++++-
git-gui/lib/blame.tcl | 18 ++++++++++-
git-gui/lib/diff.tcl | 5 ++-
git-gui/lib/option.tcl | 1 +
sha1_name.c | 19 ++++++++++++
t/t8007-cat-file-textconv.sh | 66 ++++++++++++++++++++++++++++++++++++++++++
9 files changed, 168 insertions(+), 9 deletions(-)
create mode 100755 t/t8007-cat-file-textconv.sh