RE: Question on textconv

<[email protected]> Tue, 4 Aug 2026 17:45:13 -0400
Newsgroups org.kernel.vger.git
Organization Nexbridge Inc.
Message-ID <[email protected]>
On August 4, 2026 4:53 PM, D. Ben Knoble wrote:
> 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 :/

Curiously, I get this only on binary files. It is almost as if leading nulls is causing an issue.
If I try on a text file or an ELF format file, the above works - ELF does not begin with a NULL.