annex.autocommit can be configured via git-annex config

... to control the default behavior in all clones of a repository.

This includes a new Configurable data type, so the GitConfig type indicates
which values can be configured this way.

The implementation should be quite efficient; the config log is only read
once, and only when a Configurable value has not already been set by
git-config.

Indeed, it would be nice in the future to extend this, so that git-config
is itself only read on demand. Some commands may not need to look at the
git configuration at all.

This commit was sponsored by Trenton Cronholm on Patreon.
This commit is contained in:
Joey Hess 2017-02-03 13:40:14 -04:00
commit ed56dba868
No known key found for this signature in database
GPG key ID: C910D9222512E3C7
14 changed files with 93 additions and 26 deletions

View file

@ -25,9 +25,12 @@ 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`:
`git config`.
None yet!
* `annex.autocommit`
Set to false to prevent the git-annex assistant and git-annex sync
from automatically committing changes to files in the repository.
# EXAMPLE

View file

@ -1006,8 +1006,8 @@ Here are all the supported configuration settings.
Set to false to prevent the git-annex assistant and git-annex sync
from automatically committing changes to files in the repository.
To configure the behavior in all repositories, this can be set in
[[git-annex-config]].
To configure the behavior in all clones of the repository,
this can be set in [[git-annex-config]].
* `annex.startupscan`

View file

@ -3,3 +3,5 @@ when using git-annex as a minority participant in a repository (eg. because in a
forgetting to do that explicit configuration results, in one sync command, easily results in an unwanted implicit commit that's pushed across remotes.
could there be a per-repository option (somewhere around .gitattributes, or maybe in the git-annex branch) that disables autocommits for the repository?
> [[done]] --[[Joey]]