diff options
Diffstat (limited to 'Annex/FileMatcher.hs')
-rw-r--r-- | Annex/FileMatcher.hs | 12 |
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 |