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,
|
to more easily set a default that will also be used by clones,
|
||||||
without needing to shoehorn the expression into the gitattributes file.
|
without needing to shoehorn the expression into the gitattributes file.
|
||||||
The git config and gitattributes override that.
|
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
|
-- 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.
|
- Licensed under the GNU AGPL version 3 or higher.
|
||||||
-}
|
-}
|
||||||
|
|
||||||
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
|
||||||
module Command.Config where
|
module Command.Config where
|
||||||
|
|
||||||
import Command
|
import Command
|
||||||
|
@ -54,11 +56,13 @@ seek :: Action -> CommandSeek
|
||||||
seek (SetConfig ck@(ConfigKey name) val) = commandAction $
|
seek (SetConfig ck@(ConfigKey name) val) = commandAction $
|
||||||
startingUsualMessages (decodeBS' name) (ActionItemOther (Just (fromConfigValue val))) $ do
|
startingUsualMessages (decodeBS' name) (ActionItemOther (Just (fromConfigValue val))) $ do
|
||||||
setGlobalConfig ck val
|
setGlobalConfig ck val
|
||||||
|
when (needLocalUpdate ck) $
|
||||||
setConfig ck (fromConfigValue val)
|
setConfig ck (fromConfigValue val)
|
||||||
next $ return True
|
next $ return True
|
||||||
seek (UnsetConfig ck@(ConfigKey name)) = commandAction $
|
seek (UnsetConfig ck@(ConfigKey name)) = commandAction $
|
||||||
startingUsualMessages (decodeBS' name) (ActionItemOther (Just "unset")) $do
|
startingUsualMessages (decodeBS' name) (ActionItemOther (Just "unset")) $do
|
||||||
unsetGlobalConfig ck
|
unsetGlobalConfig ck
|
||||||
|
when (needLocalUpdate ck) $
|
||||||
unsetConfig ck
|
unsetConfig ck
|
||||||
next $ return True
|
next $ return True
|
||||||
seek (GetConfig ck) = commandAction $
|
seek (GetConfig ck) = commandAction $
|
||||||
|
@ -67,3 +71,7 @@ seek (GetConfig ck) = commandAction $
|
||||||
Nothing -> return ()
|
Nothing -> return ()
|
||||||
Just (ConfigValue v) -> liftIO $ S8.putStrLn v
|
Just (ConfigValue v) -> liftIO $ S8.putStrLn v
|
||||||
next $ return True
|
next $ return True
|
||||||
|
|
||||||
|
needLocalUpdate :: ConfigKey -> Bool
|
||||||
|
needLocalUpdate (ConfigKey "annex.securehashesonly") = True
|
||||||
|
needLocalUpdate _ = False
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue