A Git LFS extension makes git-crypt work on top of Git LFS. The following should be added to your .git/config
:
[diff "cat"]
textconv = cat
[lfs "extension.git-crypt"]
clean = git-crypt clean
smudge = git-crypt smudge
priority = 0
To filter files with git-crypt from now on, set their filter
& diff
attributes to filter=lfs diff=git-crypt
, and leave their merge
attribute unspecified. This is not what Git LFS specifies by default (filter=lfs diff=lfs merge=lfs
), but we're dealing with text files here. (Plus, Git LFS doesn't even ship a diff driver or a merge driver. Whee.) Ideally, extensions would be controllable with gitattributes(5), but this is not currently implemented. The issue gitattributes(5) should control paths' desired Git LFS extensions has been opened about this.
The cat
diff driver isn't essential, but it makes text diffs on LFS tracked text files work (diff=cat
).