export CreateProcess fields from Utility.Process

update code to avoid cwd and env redefinition warnings
This commit is contained in:
Joey Hess 2014-06-10 19:20:14 -04:00
parent 6eb5e6c135
commit a44fd2c019
31 changed files with 458 additions and 480 deletions

View file

@ -28,7 +28,6 @@ import Annex.Exception
import Creds
import Control.Concurrent.STM
import System.Process (std_in, std_out, std_err)
import System.Log.Logger (debugM)
import qualified Data.Map as M
import qualified Data.ByteString.Lazy as L

View file

@ -55,7 +55,6 @@ import Creds
import Control.Concurrent
import Control.Concurrent.MSampleVar
import System.Process (std_in, std_err)
import qualified Data.Map as M
import Control.Exception.Extensible
@ -467,12 +466,12 @@ fsckOnRemote r params
| otherwise = return $ do
program <- readProgramFile
r' <- Git.Config.read r
env <- getEnvironment
let env' = addEntries
environ <- getEnvironment
let environ' = addEntries
[ ("GIT_WORK_TREE", Git.repoPath r')
, ("GIT_DIR", Git.localGitDir r')
] env
batchCommandEnv program (Param "fsck" : params) $ Just env'
] environ
batchCommandEnv program (Param "fsck" : params) $ Just environ'
{- The passed repair action is run in the Annex monad of the remote. -}
repairRemote :: Git.Repo -> Annex Bool -> Annex (IO Bool)

View file

@ -27,8 +27,6 @@ import Annex.Content
import Annex.UUID
import Utility.Env
import System.Process
type Vault = String
type Archive = FilePath

View file

@ -79,15 +79,15 @@ hookEnv :: Action -> Key -> Maybe FilePath -> IO (Maybe [(String, String)])
hookEnv action k f = Just <$> mergeenv (fileenv f ++ keyenv)
where
mergeenv l = addEntries l <$> getEnvironment
env s v = ("ANNEX_" ++ s, v)
envvar s v = ("ANNEX_" ++ s, v)
keyenv = catMaybes
[ Just $ env "KEY" (key2file k)
, Just $ env "ACTION" action
, env "HASH_1" <$> headMaybe hashbits
, env "HASH_2" <$> headMaybe (drop 1 hashbits)
[ Just $ envvar "KEY" (key2file k)
, Just $ envvar "ACTION" action
, envvar "HASH_1" <$> headMaybe hashbits
, envvar "HASH_2" <$> headMaybe (drop 1 hashbits)
]
fileenv Nothing = []
fileenv (Just file) = [env "FILE" file]
fileenv (Just file) = [envvar "FILE" file]
hashbits = map takeDirectory $ splitPath $ hashDirMixed k
lookupHook :: HookName -> Action -> Annex (Maybe String)
@ -155,5 +155,5 @@ checkPresent r h k = do
findkey s = key2file k `elem` lines s
check Nothing = error $ action ++ " hook misconfigured"
check (Just hook) = do
env <- hookEnv action k Nothing
findkey <$> readProcessEnv "sh" ["-c", hook] env
environ <- hookEnv action k Nothing
findkey <$> readProcessEnv "sh" ["-c", hook] environ