git-annex/doc/git-annex-config.mdwn
Joey Hess 09e73a3ab6
annex.merge-annex-branches
Added annex.merge-annex-branches config setting which can be used to
disable automatic merge of git-annex branches.

I wonder if git-annex merge/sync/assistant should disable this
setting? Not sure yet, so have not done so. May be that users will not set
it in git config, but pass it via -c to commands that need it.

Checking the config setting adds a very small overhead, but it's
only checked once per command so should be insignificant.

This commit was supported by the NSF-funded DataLad project.
2018-02-22 14:25:32 -04:00

91 lines
2.4 KiB
Markdown

# 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.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 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>
Warning: Automatically converted into a man page by mdwn2man. Edit with care.