faf84aa5c2
Implemented by making Git.Queue have a FlushAction, which can accumulate along with another action on files, and runs only once the other action has run. This lets git-annex unlock queue up git update-index actions, without conflicting with the restagePointerFiles FlushActions. In a repository with filter-process enabled, git-annex unlock will often not take any more time than before, though it may when the files are large. Either way, it should always slow down less than git-annex status speeds up. When filter-process is not enabled, git-annex unlock will slow down as much as git status speeds up. Sponsored-by: Jochen Bartl on Patreon
52 lines
1.6 KiB
Markdown
52 lines
1.6 KiB
Markdown
# 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
|
|
unncessary 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.
|