global numcopies setting
* numcopies: New command, sets global numcopies value that is seen by all clones of a repository. * The annex.numcopies git config setting is deprecated. Once the numcopies command is used to set the global number of copies, any annex.numcopies git configs will be ignored. * assistant: Make the prefs page set the global numcopies. This global numcopies setting is needed to let preferred content expressions operate on numcopies. It's also convenient, because typically if you want git-annex to preserve N copies of files in a repo, you want it to do that no matter which repo it's running in. Making it global avoids needing to warn the user about gotchas involving inconsistent annex.numcopies settings. (See changes to doc/numcopies.mdwn.) Added a new variety of git-annex branch log file, that holds only 1 value. Will probably be useful for other stuff later. This commit was sponsored by Nicolas Pouillard.
This commit is contained in:
parent
ecd4c35d7e
commit
d66535f065
25 changed files with 246 additions and 45 deletions
|
@ -21,6 +21,7 @@ import Utility.DataUnits
|
|||
import Git.Config
|
||||
import Types.Distribution
|
||||
import qualified Build.SysConfig
|
||||
import Logs.NumCopies
|
||||
|
||||
import qualified Data.Text as T
|
||||
|
||||
|
@ -81,7 +82,7 @@ prefsAForm def = PrefsForm
|
|||
getPrefs :: Annex PrefsForm
|
||||
getPrefs = PrefsForm
|
||||
<$> (T.pack . roughSize storageUnits False . annexDiskReserve <$> Annex.getGitConfig)
|
||||
<*> (annexNumCopies <$> Annex.getGitConfig)
|
||||
<*> (maybe deprecatedNumCopies return =<< getGlobalNumCopies)
|
||||
<*> inAutoStartFile
|
||||
<*> (annexAutoUpgrade <$> Annex.getGitConfig)
|
||||
<*> (annexDebug <$> Annex.getGitConfig)
|
||||
|
@ -89,7 +90,8 @@ getPrefs = PrefsForm
|
|||
storePrefs :: PrefsForm -> Annex ()
|
||||
storePrefs p = do
|
||||
setConfig (annexConfig "diskreserve") (T.unpack $ diskReserve p)
|
||||
setConfig (annexConfig "numcopies") (show $ numCopies p)
|
||||
setGlobalNumCopies (numCopies p)
|
||||
unsetConfig (annexConfig "numcopies") -- deprecated
|
||||
setConfig (annexConfig "autoupgrade") (fromAutoUpgrade $ autoUpgrade p)
|
||||
unlessM ((==) <$> pure (autoStart p) <*> inAutoStartFile) $ do
|
||||
here <- fromRepo Git.repoPath
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue