git-annex filter-process - long running git filter process for git-annex


git annex filter-process


By default, git-annex smudge is used as the git filter driver. This is an alternative way to accomplish the same thing, using git's long-running filter process interface.

To enable using this, run:

git config filter.annex.process 'git-annex filter-process'

There will be no visible difference in behavior between enabling this and not, besides changes in speed and memory use when using git.

When this is not enabled, each file that git wants to filter involves starting up a new git-annex smudge process. Starting many such processes for many files can be slow, and can make commands like git checkout and git add slow when they are operating on a lot of files. (A lot of locked annexed files do not make git checkout slow, but unlocked files and non-annexed files do slow it down.)

On the other hand when this is enabled, git add of a large file does an unncessary extra read of the file, and pipes its contents into git-annex. So if you enable this, it will be faster to use git-annex add to add large files to the annex, rather than git add. Other commands that add files, like git commit -a, are also impacted by this.



git-annex(1) git-annex-smudge(1)


Joey Hess

Warning: Automatically converted into a man page by mdwn2man. Edit with care.