import Utility.Tmp.Dir
import Utility.Rsync
import Utility.FileMode
-import Utility.CopyFile
import qualified Utility.RawFilePath as R
import qualified Data.Set as S
| otherwise = withTmpDir "tmprepo" $ \tmpdir -> do
unlessM (boolSystem "git" [Param "init", File tmpdir]) $
error $ "failed to create temp repository in " ++ tmpdir
- let repoconfig r' = fromRawFilePath (localGitDir r' P.</> "config")
tmpr <- Config.read =<< Construct.fromPath (toRawFilePath tmpdir)
+ let repoconfig r' = fromRawFilePath (localGitDir r' P.</> "config")
whenM (doesFileExist (repoconfig r)) $
- void $ copyFileExternal CopyAllMetaData
- (repoconfig r)
- (repoconfig tmpr)
+ L.readFile (repoconfig r) >>= L.writeFile (repoconfig tmpr)
rs <- Construct.fromRemotes r
stillmissing <- pullremotes tmpr rs fetchrefstags missing
if S.null (knownMissing stillmissing)