git-annex-config --set/--unset: No longer change the local git config setting
e53070c1f
quietly made it set the local git config too, but that was never
documented anywhere, and it had surprising results. If I set
annex.largefiles globally in a repo, I would expect to be able to change it
in another repo, and the original repo would get the change and use it,
rather than being stuck on the old value set there.
And, if I have a local annex.largefiles and set a different global default,
I'd be surprised to have my local setting overwritten.
annex.securehashesonly does need to be set locally, since it's a security
feature and the global is only a default until it gets set locally. So
special cased.
This commit is contained in:
parent
8e9e809d9b
commit
5591622731
2 changed files with 12 additions and 2 deletions
|
@ -11,6 +11,8 @@ git-annex (7.20191219) UNRELEASED; urgency=medium
|
|||
to more easily set a default that will also be used by clones,
|
||||
without needing to shoehorn the expression into the gitattributes file.
|
||||
The git config and gitattributes override that.
|
||||
* git-annex-config --set/--unset: No longer change the local git config
|
||||
setting, except for in the special case of annex.securehashesonly.
|
||||
|
||||
-- Joey Hess <id@joeyh.name> Wed, 18 Dec 2019 15:12:40 -0400
|
||||
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
- Licensed under the GNU AGPL version 3 or higher.
|
||||
-}
|
||||
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Command.Config where
|
||||
|
||||
import Command
|
||||
|
@ -54,12 +56,14 @@ seek :: Action -> CommandSeek
|
|||
seek (SetConfig ck@(ConfigKey name) val) = commandAction $
|
||||
startingUsualMessages (decodeBS' name) (ActionItemOther (Just (fromConfigValue val))) $ do
|
||||
setGlobalConfig ck val
|
||||
setConfig ck (fromConfigValue val)
|
||||
when (needLocalUpdate ck) $
|
||||
setConfig ck (fromConfigValue val)
|
||||
next $ return True
|
||||
seek (UnsetConfig ck@(ConfigKey name)) = commandAction $
|
||||
startingUsualMessages (decodeBS' name) (ActionItemOther (Just "unset")) $do
|
||||
unsetGlobalConfig ck
|
||||
unsetConfig ck
|
||||
when (needLocalUpdate ck) $
|
||||
unsetConfig ck
|
||||
next $ return True
|
||||
seek (GetConfig ck) = commandAction $
|
||||
startingCustomOutput (ActionItemOther Nothing) $ do
|
||||
|
@ -67,3 +71,7 @@ seek (GetConfig ck) = commandAction $
|
|||
Nothing -> return ()
|
||||
Just (ConfigValue v) -> liftIO $ S8.putStrLn v
|
||||
next $ return True
|
||||
|
||||
needLocalUpdate :: ConfigKey -> Bool
|
||||
needLocalUpdate (ConfigKey "annex.securehashesonly") = True
|
||||
needLocalUpdate _ = False
|
||||
|
|
Loading…
Reference in a new issue