Pass --no-textconv when running git diff internally

Seems that --no-ext-diff and -c diff.external= are not enough to disable
external diff command when gitattributes textconv specifies it.

I'm pretty sure that --no-ext-diff and -c diff.external= are not both
needed, but not 100%. Something about -G may need the latter to fully
disable diffs in some cases. So kept that part as it was.

Sponsored-by: Dartmouth College's Datalad project
This commit is contained in:
Joey Hess 2022-02-01 13:43:18 -04:00
parent 283c53642f
commit 46d5098ff4
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 21 additions and 0 deletions

View file

@ -1,6 +1,7 @@
git-annex (10.20220128) UNRELEASED; urgency=medium
* adb: Avoid find failing with "Argument list too long"
* Pass --no-textconv when running git diff internally.
-- Joey Hess <id@joeyh.name> Mon, 31 Jan 2022 13:14:42 -0400

View file

@ -342,6 +342,9 @@ reconcileStaged qh = unlessM (Git.Config.isBare <$> gitRepo) $ do
, Param "--no-renames"
-- Avoid other complications.
, Param "--ignore-submodules=all"
-- Avoid using external textconv command, which would be slow
-- and possibly wrong.
, Param "--no-textconv"
, Param "--no-ext-diff"
]

View file

@ -119,3 +119,7 @@ There is a companion issue in datalad at [https://github.com/datalad/datalad/iss
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
Git-annex is amazing. I use it daily. A lot of science is made possible by this tool.
> [[fixed|done]] --[[Joey]]
[[!tag projects/datalad]]

View file

@ -0,0 +1,13 @@
[[!comment format=mdwn
username="joey"
subject="""comment 1"""
date="2022-02-01T17:30:46Z"
content="""
Hmm, it seems to me that when git-annex runs git diff, it passes
--no-ext-diff, which ought to disable any external diff drivers.
Ah, so this is really about the .gitattributes textconv,
which enables the same thing in a different way that
the other option doesn't disable.
Ok, I'll add --no-textconv as well.
"""]]