[BUG] git gui blame fails for multi-word textconv filter
From: Kirill Smelkov <hidden>
Date: 2016-06-15 22:49:14
Hello,
I use
[diff "astextplain"]
textconv = run-mailcap --action=cat
in my ~/.gitconfig, and this works for git `git blame` because of 41a457
in git.git (textconv: use shell to run helper), but fails with git gui:
$ git gui blame 21980.2--ИМС-МР231.doc
Error in startup script: couldn't execute "run-mailcap --action=cat": no such file or directory
while executing
"open |[list $textconv $path] r"
(procedure "_load" line 56)
invoked from within
"_load $this $i_jump"
(procedure "blame::new" line 185)
invoked from within
"blame::new $head $path $jump_spec"
("blame" arm line 6)
invoked from within
"switch -- $subcommand {
browser {
if {$jump_spec ne {}} usage
if {$head eq {}} {
if {$path ne {} && [file isdirectory $path]} {
set head $..."
("blame" arm line 57)
invoked from within
"switch -- $subcommand {
browser -
blame {
if {$subcommand eq "blame"} {
set subcommand_args {[--line=<num>] rev? path}
} else {
set subcommand_a..."
(file "/home/kirr/local/git/libexec/git-core/git-gui" line 2868)
Thats is maybe because we use `git cat-file --textconv` only for in .git
entries, but since cat-file lacks support for work-tree git-gui calls
textconv filter itself manually on initial "$commit eq {}"?
If so, I'd better teach cat-file about worktree, instead of teaching
git-gui about running textconv filter through shell. Just a wish...
Thanks,
Kirill
P.S. And thanks for finally collecting all those git-gui patches.