diff options
author | Joey Hess <joey@kitenet.net> | 2011-01-27 16:10:45 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-01-27 16:10:45 -0400 |
commit | 96404170673e4ff42b68de1ba967a09a88dd550e (patch) | |
tree | 0f9b21755a8b254cf5dca5bd2a2935beba0b6710 | |
parent | 56a8a2117161b7ce10272777182ef20bf4c5b3ce (diff) |
avoid warning when symlink in the repo contains a colon but is not a
pointer to annexed content
-rw-r--r-- | Backend.hs | 3 | ||||
-rw-r--r-- | Locations.hs | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/Backend.hs b/Backend.hs index bdceea2f5..74f71f8be 100644 --- a/Backend.hs +++ b/Backend.hs @@ -137,7 +137,8 @@ lookupFile file = do makekey bs l = do case maybeLookupBackendName bs bname of Nothing -> do - unless (null kname || null bname) $ + unless (null kname || null bname || + not (isLinkToAnnex l)) $ warning skip return Nothing Just backend -> return $ Just (k, backend) diff --git a/Locations.hs b/Locations.hs index 6c541e937..327c099e3 100644 --- a/Locations.hs +++ b/Locations.hs @@ -15,6 +15,7 @@ module Locations ( annexTmpLocation, annexBadLocation, annexUnusedLog, + isLinkToAnnex, annexDir, annexObjectDir, @@ -22,6 +23,7 @@ module Locations ( ) where import Data.String.Utils +import Data.List import Types import qualified GitRepo as Git @@ -69,6 +71,10 @@ annexBadLocation r = annexDir r ++ "/bad/" annexUnusedLog :: Git.Repo -> FilePath annexUnusedLog r = annexDir r ++ "/unused" +{- Checks a symlink target to see if it appears to point to annexed content. -} +isLinkToAnnex :: FilePath -> Bool +isLinkToAnnex s = isInfixOf "/.git/annex/objects/" s + {- Converts a key into a filename fragment. - - Escape "/" in the key name, to keep a flat tree of files and avoid |