Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [BUG] git gui blame fails for multi-word textconv filter

From: Clément Poulain <hidden>
Date: 2016-06-15 22:49:15

Le 04/08/2010 21:25, Kirill Smelkov a écrit :
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
   
I wonder if spaces can be the reason of this. Looks like Tcl is looking 
for an executable called "run-mailcap --action=cat", and doesn't 
distinguish path from options.
I do not have much experience with Tcl, so I can't figure out how to 
solve that. Some help would be appreciate :-)
         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 {}"?
   
Yep, "open |[list $textconv $path] r" is the way we call textconv on the 
work-tree copy of the concerned file.
If so, I'd better teach cat-file about worktree, instead of teaching
git-gui about running textconv filter through shell. Just a wish...
   
This was discussed here: a1ace6b77167a2ad4b4995e8c4d09761@ensimag.fr , 
and your suggestion was considered ;-)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help