On July 9, 2019 5:51 PM, Peff wrote: > To: Randall S. Becker <rsbecker@xxxxxxxxxxxxx> > Cc: git@xxxxxxxxxxxxxxx > Subject: Re: [Question] Diff text filters and git add > > On Tue, Jul 09, 2019 at 05:43:05PM -0400, Randall S. Becker wrote: > > > I am trying to do something a bit strange and wonder about the best > > way to go. I have a text filter that presents content of very special > > binary file formats using textconv. What I am wondering is whether > > using the textconv mechanism is sufficient to have git calculate the > > file signature or whether I need to use an external diff engine, so > > that git add behaves in a stable manner (i.e., does git internally use > > the textconv mechanism for evaluating whether a file changed or > > whether the external diff engine is required, or whether this is even > possible at all). > > No, textconv only applies when generating a diff to output, and will never > impact what's stored in Git. > > It sounds like you might want a clean filter instead, to sanitize the file > contents as they come into Git (and perhaps a matching smudge filter to > convert back to the working-tree version if necessary). > > You're talking about "the diff engine" here, but note that git-add would never > do a diff at all. It cares only about full sha1s (and optimizes out re-computing > the sha1 on each invocation by using stat data). So outside of clean/smudge, > there's nothing else going on. Thanks. I can script this instead. Will do an external diff then --assume-unchanged when I detect an equivalence. Appreciate the advice and info, Randall