config: Added the --show-origin and --for-file options
* config: Added the --show-origin and --for-file options. * config: Support annex.numcopies and annex.mincopies. There is a little bit of redundancy here with other code elsewhere that combines the various configs and selects which to use. But really only for the special case of annex.numcopies, which is a git config that does not override the annex branch setting and for annex.mincopies, which does not have a git config but does have gitattributes settings as well as the annex branch setting. That seems small enough, and unlikely enough to grow into a mess that it was worth supporting annex.numcopies and annex.mincopies in git-annex config --show-origin. Because these settings are a prime thing that someone might get confused about and want to know where they were configured. And, it followed that git-annex config might as well support those two for --set and --get as well. While this is redundant with the speclialized commands, it's only a little code and it makes it more consistent. Note that --set does not have as nice output as numcopies/mincopies commands in some special cases like setting to 0 or a negative number. It does avoid setting to a bad value thanks to the smart constructors (eg configuredNumCopies). As for other git-annex branch configurations that are not set by git-annex config, things like trust and wanted that are specific to a repository don't map to a git config name, so don't really fit into git-annex config. And they are only configured in the git-annex branch with no local override (at least so far), so --show-origin would not be useful for them. Sponsored-by: Dartmouth College's DANDI project
This commit is contained in:
parent
ae98fb1b31
commit
64738ea157
8 changed files with 227 additions and 16 deletions
|
@ -6,3 +6,5 @@ I guess the same functionality might be useful for some other options which coul
|
|||
|
||||
[[!meta author=yoh]]
|
||||
[[!tag projects/dandi]]
|
||||
|
||||
> [[done]] --[[Joey]]
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 2"""
|
||||
date="2023-06-12T20:08:40Z"
|
||||
content="""
|
||||
I think it makes sense to have a command that displays the value of a
|
||||
config that will be used, and where that value is configured. I've implemented
|
||||
`git-annex config --show-origin` to do that.
|
||||
|
||||
For example:
|
||||
|
||||
% git-annex config --show-origin annex.largefiles
|
||||
annex.largefiles may be configured in gitattributes. Pass --for-file= with a filename to check
|
||||
branch:git-annex exclude=*.c
|
||||
% git-annex config --show-origin annex.largefiles --for-file=foo
|
||||
gitattributes largerthan=100kb
|
||||
% git config annex.largefiles oops
|
||||
% git-annex config --show-origin annex.largefiles --for-file=foo
|
||||
file:.git/config oops
|
||||
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue