summaryrefslogtreecommitdiff
path: root/Annex/Fixup.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Annex/Fixup.hs')
-rw-r--r--Annex/Fixup.hs8
1 files changed, 7 insertions, 1 deletions
diff --git a/Annex/Fixup.hs b/Annex/Fixup.hs
index 07caa44df..99b4ea2d5 100644
--- a/Annex/Fixup.hs
+++ b/Annex/Fixup.hs
@@ -27,12 +27,18 @@ import qualified Data.Map as M
fixupRepo :: Repo -> GitConfig -> IO Repo
fixupRepo r c = do
- let r' = r { gitGlobalOpts = gitGlobalOpts r ++ [Param "--literal-pathspecs"] }
+ let r' = disableWildcardExpansion r
r'' <- fixupSubmodule r' c
if annexDirect c
then fixupDirect r''
else return r''
+{- Disable git's built-in wildcard expansion, which is not wanted
+ - when using it as plumbing by git-annex. -}
+disableWildcardExpansion :: Repo -> Repo
+disableWildcardExpansion r = r
+ { gitGlobalOpts = gitGlobalOpts r ++ [Param "--literal-pathspecs"] }
+
{- Direct mode repos have core.bare=true, but are not really bare.
- 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. -}