git-annex/ git-annex-filter-process

# NAME

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

# SYNOPSIS

git annex filter-process

# DESCRIPTION

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 unnecessary extra read of the file, and pipes its contents into git-annex. So when this is enabled, 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.

This is used by default in git-annex repositories v9 and above, while v8 repositories use `git-annex smudge` for backwards compatability with older versions of git-annex.

To enable this in a v8 repository, run:

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

To disable it, you can just unset the config:

    git config --unset filter.annex.process

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

# OPTIONS

- The git-annex-common-options(1) can be used.

# SEE ALSO

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

# AUTHOR

Joey Hess id@joeyh.name

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

Comments on this page are closed.