1git-annex-smudge(1)         General Commands Manual        git-annex-smudge(1)
2
3
4

NAME

6       git-annex-smudge - git filter driver for git-annex
7

SYNOPSIS

9       git annex smudge [--clean] file
10
11       git annex smudge --update
12

DESCRIPTION

14       This  command  lets git-annex be used as a git filter driver which lets
15       annexed files in the git repository to be unlocked,  instead  of  being
16       symlinks, and lets git add store files in the annex.
17
18       When  adding  a  file with git add, the annex.largefiles config is con‐
19       sulted to decide if a given file should be added to git  as-is,  or  if
20       its   content   are  large  enough  to  need  to  use  git-annex.   The
21       annex.gitaddtoannex setting overrides that; setting it  to  false  pre‐
22       vents git add from adding files to the annex.
23
24       However,  if git-annex can tell that a file was annexed before, it will
25       still be added to the annex even when those configs would normally pre‐
26       vent  it.  Two  examples  of  this  are adding a modified version of an
27       annexed file, and moving an annexed file to a new filename  and  adding
28       that.
29
30       The git configuration to use this command as a filter driver is as fol‐
31       lows.  This is normally set up for you by git-annex init, so you should
32       not need to configure it manually.
33
34        [filter "annex"]
35                smudge = git-annex smudge %f
36                clean = git-annex smudge --clean %f
37
38       To  make  git  use that filter driver, it needs to be configured in the
39       .gitattributes file or in .git/info/attributes. The latter is  normally
40       configured  when  a  repository is initialized, with the following con‐
41       tents:
42
43        * filter=annex
44        .* !filter
45
46       The smudge filter does not provide git  with  the  content  of  annexed
47       files,  because  that  would  be slow and triggers memory leaks in git.
48       Instead, it records which worktree files need to be  updated,  and  git
49       annex  smudge  --update later updates the work tree to contain the con‐
50       tent. That is run by several git  hooks,  including  post-checkout  and
51       post-merge.  However,  a  few  git  commands, notably git stash and git
52       cherry-pick, do not run any hooks, so after using  those  commands  you
53       can manually run git annex smudge --update to update the working tree.
54

SEE ALSO

56       git-annex(1)
57

AUTHOR

59       Joey Hess <id@joeyh.name>
60
61                                                           git-annex-smudge(1)
Impressum