git-annex-config

git-annex-config(1)          General Commands Manual         git-annex-config(1)



NAME
       git-annex-config - configuration stored in git-annex branch

SYNOPSIS
       git annex config --set name value

       git annex config --get name

       git annex config --unset name

DESCRIPTION
       Set or get configuration settings stored in the git-annex branch.

       Unlike git config settings, these settings can be seen in all clones of
       the repository, once they have gotten their git-annex branches in sync.

SUPPORTED SETTINGS
       git-annex does not check the git-annex branch for all settings.  Only a
       few make sense to be able to set such that all clones of a repository see
       the setting, and so git-annex only looks for these:

       These settings can be overridden on a per-repository basis using git
       config.

       annex.largefiles
              Used to configure which files are large enough to be added to the
              annex.  It is an expression that matches the large files, eg
              "include=*.mp3 or largerthan(500kb)".  See git-
              annex-matching-expression(1) for details on the syntax.

              This sets a default, which can be overridden by annex.largefiles
              attributes in .gitattributes files, or by git config.

       annex.dotfiles
              Normally, dotfiles are assumed to be files like .gitignore, whose
              content should always be part of the git repository, so they will
              not be added to the annex. Setting annex.dotfiles to true makes
              dotfiles be added to the annex the same as any other file.

              This sets a default, which can be overridden by annex.dotfiles in
              git config.

       annex.addunlocked
              Commands like git-annex add default to adding files to the
              repository in locked form. This can make them add the files in
              unlocked form, the same as if git-annex-unlock(1) were run on the
              files.

              This can be set to "true" to add everything unlocked, or it can be
              a more complicated expression that matches files by name, size, or
              content. See git-annex-matching-expression(1) for details.

              This sets a default, which can be overridden by annex.addunlocked
              in git config.

       annex.autocommit
              Set to false to prevent the git-annex assistant and git-annex sync
              from automatically committing changes to files in the repository.

       annex.resolvemerge
              Set to false to prevent merge conflicts in the checked out branch
              being automatically resolved by the git-annex assitant, git-annex
              sync, git-annex merge, and the git-annex post-receive hook.

       annex.synccontent
              Set to true to make git-annex sync default to syncing annexed
              content.

       annex.synconlyannex
              Set to true to make git-annex sync default to only sincing the
              git-annex branch and annexed content.

       annex.securehashesonly
              Set to true to indicate that the repository should only use
              cryptographically secure hashes (SHA2, SHA3) and not insecure
              hashes (MD5, SHA1) for content.

              When this is set, the contents of files using cryptographically
              insecure hashes will not be allowed to be added to the repository.

              Also, git-annex fsck will complain about any files present in the
              repository that use insecure hashes.

              Note that this is only read from the git-annex branch by git annex
              init, and is copied to the corresponding git config setting.  So,
              changes to the value in the git-annex branch won't affect a
              repository once it has been initialized.

EXAMPLE
       Suppose you want to prevent git annex sync from committing changes to
       files, so a manual git commit workflow is used in all clones of the
       repository. Then run:

        git annex config --set annex.autocommit false

       If you want to override that in a partiticular clone, just use git config
       in the clone:

        git config annex.autocommit true

       And to get back to the default behavior:

        git annex config --unset annex.autocommit

SEE ALSO
       git-annex(1)

       git-config(1)

       git-annex-vicfg(1)

AUTHOR
       Joey Hess <id@joeyh.name>

                                                             git-annex-config(1)