git-annex/doc/git-annex-smudge.mdwn
Joey Hess 2fe21d47c5
init: Configure .git/info/attributes to use git-annex as a smudge filter.
Note that this changes the default behavior of git add in a newly
initialized repository; it will add files to the annex.

Don't like that this could break workflows, but it's necessary in order for
any pointer files in the repo to be handled by git-annex.
2015-12-04 17:57:15 -04:00

47 lines
1.3 KiB
Markdown

# NAME
git-annex smudge - git filter driver for git-annex
# SYNOPSIS
git annex smudge [--clean] file
# DESCRIPTION
This command lets git-annex be used as a git filter driver which lets
annexed files in the git repository to be unlocked at all times, instead
of being symlinks.
When adding a file with `git add`, the annex.largefiles config is
consulted to decide if a given file should be added to git as-is,
or if its content are large enough to need to use git-annex. To force a
file that would normally be added to the annex to be added to git as-is,
this can be temporarily overridden. For example:
git -c annex.largefiles='exclude=*' add myfile
The git configuration to use this command as a filter driver is as follows.
This is normally set up for you by git-annex init, so you should
not need to configure it manually.
[filter "annex"]
smudge = git-annex smudge %f
clean = git-annex smudge --clean %f
To make git use that filter driver, it needs to be configured in
the .gitattributes file or in `.git/config/attributes`. The latter
is normally configured when a repository is initialized, with the following
contents:
* filter=annex
.* !filter
# SEE ALSO
[[git-annex]](1)
# AUTHOR
Joey Hess <id@joeyh.name>
Warning: Automatically converted into a man page by mdwn2man. Edit with care.