squash compiler warnings on Windows
This commit is contained in:
parent
6a97896b47
commit
06db8e0bd9
8 changed files with 33 additions and 13 deletions
|
@ -48,12 +48,14 @@ import Types.Key
|
|||
import Utility.DataUnits
|
||||
import Utility.CopyFile
|
||||
import Config
|
||||
import Annex.Exception
|
||||
import Git.SharedRepository
|
||||
import Annex.Perms
|
||||
import Annex.Link
|
||||
import Annex.Content.Direct
|
||||
import Annex.ReplaceFile
|
||||
#ifndef mingw32_HOST_OS
|
||||
import Annex.Exception
|
||||
#endif
|
||||
|
||||
{- Checks if a given key's content is currently present. -}
|
||||
inAnnex :: Key -> Annex Bool
|
||||
|
@ -91,34 +93,34 @@ inAnnexSafe :: Key -> Annex (Maybe Bool)
|
|||
inAnnexSafe = inAnnex' (fromMaybe False) (Just False) go
|
||||
where
|
||||
go f = liftIO $ openforlock f >>= check
|
||||
openforlock f = catchMaybeIO $
|
||||
#ifndef mingw32_HOST_OS
|
||||
openforlock f = catchMaybeIO $
|
||||
openFd f ReadOnly Nothing defaultFileFlags
|
||||
#else
|
||||
return ()
|
||||
openforlock _ = return $ Just ()
|
||||
#endif
|
||||
check Nothing = return is_missing
|
||||
check (Just h) = do
|
||||
#ifndef mingw32_HOST_OS
|
||||
check (Just h) = do
|
||||
v <- getLock h (ReadLock, AbsoluteSeek, 0, 0)
|
||||
closeFd h
|
||||
return $ case v of
|
||||
Just _ -> is_locked
|
||||
Nothing -> is_unlocked
|
||||
#else
|
||||
return is_unlocked
|
||||
check (Just _) = return is_unlocked
|
||||
#endif
|
||||
#ifndef mingw32_HOST_OS
|
||||
is_locked = Nothing
|
||||
#endif
|
||||
is_unlocked = Just True
|
||||
is_missing = Just False
|
||||
|
||||
{- Content is exclusively locked while running an action that might remove
|
||||
- it. (If the content is not present, no locking is done.) -}
|
||||
lockContent :: Key -> Annex a -> Annex a
|
||||
lockContent key a = do
|
||||
#ifdef mingw32_HOST_OS
|
||||
a
|
||||
#else
|
||||
#ifndef mingw32_HOST_OS
|
||||
lockContent key a =
|
||||
file <- calcRepo $ gitAnnexLocation key
|
||||
bracketIO (openforlock file >>= lock) unlock (const a)
|
||||
where
|
||||
|
@ -140,6 +142,8 @@ lockContent key a = do
|
|||
Right _ -> return $ Just fd
|
||||
unlock Nothing = noop
|
||||
unlock (Just l) = closeFd l
|
||||
#else
|
||||
lockContent _key a = a -- no locking for Windows!
|
||||
#endif
|
||||
|
||||
{- Runs an action, passing it a temporary filename to get,
|
||||
|
|
|
@ -14,7 +14,9 @@ import System.Posix.Types (Fd)
|
|||
|
||||
import Common.Annex
|
||||
import Annex
|
||||
#ifndef mingw32_HOST_OS
|
||||
import Annex.Perms
|
||||
#endif
|
||||
|
||||
{- Create a specified lock file, and takes a shared lock. -}
|
||||
lockFile :: FilePath -> Annex ()
|
||||
|
|
|
@ -19,11 +19,13 @@ import Data.Hash.MD5
|
|||
|
||||
import Common.Annex
|
||||
import Annex.LockPool
|
||||
import Annex.Perms
|
||||
import qualified Build.SysConfig as SysConfig
|
||||
import qualified Annex
|
||||
import Config
|
||||
import Utility.Env
|
||||
#ifndef mingw32_HOST_OS
|
||||
import Annex.Perms
|
||||
#endif
|
||||
|
||||
{- Generates parameters to ssh to a given host (or user@host) on a given
|
||||
- port, with connection caching. -}
|
||||
|
|
2
Creds.hs
2
Creds.hs
|
@ -15,7 +15,9 @@ import Utility.FileMode
|
|||
import Crypto
|
||||
import Types.Remote (RemoteConfig, RemoteConfigKey)
|
||||
import Remote.Helper.Encryptable (remoteCipher, embedCreds)
|
||||
#ifndef mingw32_HOST_OS
|
||||
import Utility.Env (setEnv)
|
||||
#endif
|
||||
|
||||
import System.Environment
|
||||
import qualified Data.ByteString.Lazy.Char8 as L
|
||||
|
|
2
Git.hs
2
Git.hs
|
@ -38,7 +38,9 @@ import System.Posix.Files
|
|||
|
||||
import Common
|
||||
import Git.Types
|
||||
#ifndef mingw32_HOST_OS
|
||||
import Utility.FileMode
|
||||
#endif
|
||||
|
||||
{- User-visible description of a git repo. -}
|
||||
repoDescribe :: Repo -> String
|
||||
|
|
2
Limit.hs
2
Limit.hs
|
@ -35,9 +35,11 @@ import Utility.DataUnits
|
|||
import Text.Regex.TDFA
|
||||
import Text.Regex.TDFA.String
|
||||
#else
|
||||
#ifndef mingw32_HOST_OS
|
||||
import System.Path.WildMatch
|
||||
import Types.FileMatcher
|
||||
#endif
|
||||
#endif
|
||||
|
||||
type MatchFiles = AssumeNotPresent -> FileInfo -> Annex Bool
|
||||
type MkLimit = String -> Either String MatchFiles
|
||||
|
|
|
@ -17,7 +17,6 @@ import qualified Data.Map as M
|
|||
import Control.Exception.Extensible
|
||||
|
||||
import Common.Annex
|
||||
import Utility.CopyFile
|
||||
import Utility.Rsync
|
||||
import Remote.Helper.Ssh
|
||||
import Annex.Ssh
|
||||
|
@ -44,6 +43,9 @@ import Types.Key
|
|||
import qualified Fields
|
||||
import Logs.Location
|
||||
import Utility.Metered
|
||||
#ifndef mingw32_HOST_OS
|
||||
import Utility.CopyFile
|
||||
#endif
|
||||
|
||||
import Control.Concurrent
|
||||
import Control.Concurrent.MSampleVar
|
||||
|
@ -360,8 +362,8 @@ copyFromRemote' r key file dest
|
|||
bracketIO noop (const $ tryIO $ killThread tid) (const $ a feeder)
|
||||
|
||||
copyFromRemoteCheap :: Remote -> Key -> FilePath -> Annex Bool
|
||||
copyFromRemoteCheap r key file
|
||||
#ifndef mingw32_HOST_OS
|
||||
copyFromRemoteCheap r key file
|
||||
| not $ Git.repoIsUrl (repo r) = guardUsable (repo r) False $ do
|
||||
loc <- liftIO $ gitAnnexLocation key (repo r) $
|
||||
fromJust $ remoteGitConfig $ gitconfig r
|
||||
|
@ -371,8 +373,10 @@ copyFromRemoteCheap r key file
|
|||
( copyFromRemote' r key Nothing file
|
||||
, return False
|
||||
)
|
||||
#endif
|
||||
| otherwise = return False
|
||||
#else
|
||||
copyFromRemoteCheap _ _ _ = return False
|
||||
#endif
|
||||
|
||||
{- Tries to copy a key's content to a remote's annex. -}
|
||||
copyToRemote :: Remote -> Key -> AssociatedFile -> MeterUpdate -> Annex Bool
|
||||
|
|
|
@ -15,7 +15,9 @@ import Common.Annex
|
|||
import Types.Remote
|
||||
import qualified Annex
|
||||
import Annex.LockPool
|
||||
#ifndef mingw32_HOST_OS
|
||||
import Annex.Perms
|
||||
#endif
|
||||
|
||||
{- Modifies a remote's access functions to first run the
|
||||
- annex-start-command hook, and trigger annex-stop-command on shutdown.
|
||||
|
|
Loading…
Reference in a new issue