diff options
author | Joey Hess <joey@kitenet.net> | 2013-11-05 15:31:37 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-11-05 15:41:24 -0400 |
commit | da9eea5dc0e86b4abb14064346eddc5689d94333 (patch) | |
tree | 6da412083ff594f3fa2abbe2d0b8b450346e77dd /Annex.hs | |
parent | 8bb9d23f521582e51ceaee03d1aa5084cad3de08 (diff) |
automatically set and unset core.bare when switching to/from direct mode
Diffstat (limited to 'Annex.hs')
-rw-r--r-- | Annex.hs | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -45,6 +45,7 @@ import Git.CatFile import Git.CheckAttr import Git.CheckIgnore import Git.SharedRepository +import Git.Config import qualified Git.Queue import Types.Backend import Types.GitConfig @@ -254,8 +255,12 @@ withCurrentState a = do - Fix up the Repo to be a non-bare repo, and arrange for git commands - run by git-annex to be passed parameters that override this setting. -} fixupDirect :: Git.Repo -> Git.Repo -fixupDirect r@(Repo { location = Local { gitdir = d, worktree = Nothing } }) = r - { location = Local { gitdir = d </> ".git", worktree = Just d } - , gitGlobalOpts = gitGlobalOpts r ++ [Param "-c", Param "core.bare=false"] - } +fixupDirect r@(Repo { location = Local { gitdir = d, worktree = Nothing } }) = + r + { location = Local { gitdir = d </> ".git", worktree = Just d } + , gitGlobalOpts = gitGlobalOpts r ++ + [ Param "-c" + , Param $ coreBare ++ "=" ++ boolConfig False + ] + } fixupDirect r = r |