summaryrefslogtreecommitdiff
path: root/Annex/FileMatcher.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Annex/FileMatcher.hs')
-rw-r--r--Annex/FileMatcher.hs12
1 files changed, 10 insertions, 2 deletions
diff --git a/Annex/FileMatcher.hs b/Annex/FileMatcher.hs
index e97b80c82..fa46e64b1 100644
--- a/Annex/FileMatcher.hs
+++ b/Annex/FileMatcher.hs
@@ -33,6 +33,7 @@ import Git.CheckAttr (unspecifiedAttr)
#ifdef WITH_MAGICMIME
import Magic
+import Utility.Env
#endif
import Data.Either
@@ -129,8 +130,15 @@ preferredContentParser matchstandard matchgroupwanted getgroupmap configmap mu e
mkLargeFilesParser :: Annex (String -> [ParseResult])
mkLargeFilesParser = do
#ifdef WITH_MAGICMIME
- magicmime <- liftIO $ magicOpen [MagicMimeType]
- liftIO $ magicLoadDefault magicmime
+ magicmime <- liftIO $ catchMaybeIO $ do
+ m <- magicOpen [MagicMimeType]
+ liftIO $ do
+ md <- getEnv "GIT_ANNEX_DIR"
+ case md of
+ Nothing -> magicLoadDefault m
+ Just d -> magicLoad m
+ (d </> "magic" </> "magic.mgc")
+ return m
#endif
let parse = parseToken $ commonTokens
#ifdef WITH_MAGICMIME