Re: Question on textconv

"D. Ben Knoble" <[email protected]> Tue, 4 Aug 2026 16:52:35 -0400
Newsgroups org.kernel.vger.git
Message-ID <CALnO6CD+LmWNffptqp4bsoJQaq7Ah8VaKHjTTu6m-Zfm2uN+9w@mail.gmail.com>
Hi Randall,

On Tue, Aug 4, 2026 at 2:52 PM <[email protected]> wrote:
>
> I experienced a change in how textconv works since about 2.50 and it is hard
> to get past. I would appreciate advice:
>
> When I define an external binary textconv, roughly like:
>
> .gitattributes:
> simple binary diff=enscr
>
> .gitconfig
> [diff "enscr"]
>         textconv = run -debug ../../enscribe-conv --verbose
>         binary = true
>
> The supplied file going to the textconv program looks like
> /tmp/git-blob-GFtIhK/simple
> and is always empty regardless of the file contents.

That's strange. Over here (2.53.0), I get the temp file, but it has
the expected contents.

(For example, I can debug a bit by using the shell form 'textconv =
"f() { echo $@; cat $@; <stuff>; }; f"'. NB those $@ need quoted in
production, but for my little test case that was more hassle than it
was worth. We can also see the invocation using GIT_TRACE2=1.)

This was true for me even after setting "binary = true" in the diff
driver block, which I thought was a bit unusual.

> When there is only one file named simple in the repository I can find it,
> but otherwise
> any ambiguity in the name makes textconv processing impractical. Somewhere
> prior to this
> I was supplied with the actual file in the working index instead of a temp
> file.
>
> Am I missing something?
>
> Thanks,
> Randall

I'm not sure :/

-- 
D. Ben Knoble