}
{- Adds an adjustment to the Repo data. Adjustments persist across reloads
- - of the repo's config. -}
+ - of the repo's config.
+ -
+ - Note that the action may run more than once, and should avoid eg,
+ - appending the same value to a repo's config when run repeatedly.
+ -}
adjustGitRepo :: (Git.Repo -> IO Git.Repo) -> Annex ()
adjustGitRepo a = do
changeState $ \s -> s { repoadjustment = \r -> repoadjustment s r >>= a }
+git-annex (8.20200310) UNRELEASED; urgency=medium
+
+ * Fix a minor bug that caused options provided with -c to be passed
+ multiple times to git.
+
+ -- Joey Hess <id@joeyh.name> Mon, 16 Mar 2020 12:43:33 -0400
+
git-annex (8.20200309) upstream; urgency=medium
* Fix bug that caused unlocked annexed dotfiles to be added to git by the
where
setnumcopies n = Annex.changeState $ \s -> s { Annex.forcenumcopies = Just $ NumCopies n }
setuseragent v = Annex.changeState $ \s -> s { Annex.useragent = Just v }
- setgitconfig v = Annex.adjustGitRepo $ \r -> Git.Config.store (encodeBS' v) $
- r { gitGlobalOpts = gitGlobalOpts r ++ [Param "-c", Param v] }
+ setgitconfig v = Annex.adjustGitRepo $ \r ->
+ if Param v `elem` gitGlobalOpts r
+ then return r
+ else Git.Config.store (encodeBS' v) $
+ r { gitGlobalOpts = gitGlobalOpts r ++ [Param "-c", Param v] }
setdesktopnotify v = Annex.changeState $ \s -> s { Annex.desktopnotify = Annex.desktopnotify s <> v }
{- Parser that accepts all non-option params. -}
[[!meta author=kyle]]
[[!tag projects/datalad]]
+
+> [[fixed|done]] --[[Joey]]