convert TopFilePath to use RawFilePath
Adds a dependency on filepath-bytestring, an as yet unreleased fork of filepath that operates on RawFilePath. Git.Repo also changed to use RawFilePath for the path to the repo. This does eliminate some RawFilePath -> FilePath -> RawFilePath conversions. And filepath-bytestring's </> is probably faster. But I don't expect a major performance improvement from this. This is mostly groundwork for making Annex.Location use RawFilePath, which will allow for a conversion-free pipleline.
This commit is contained in:
parent
a7004375ec
commit
bdec7fed9c
97 changed files with 323 additions and 271 deletions
|
@ -20,7 +20,7 @@ repoCheap = not . Git.repoIsUrl
|
|||
localpathCalc :: Git.Repo -> Maybe FilePath
|
||||
localpathCalc r
|
||||
| availabilityCalc r == GloballyAvailable = Nothing
|
||||
| otherwise = Just $ Git.repoPath r
|
||||
| otherwise = Just $ fromRawFilePath $ Git.repoPath r
|
||||
|
||||
availabilityCalc :: Git.Repo -> Availability
|
||||
availabilityCalc r
|
||||
|
@ -36,7 +36,7 @@ guardUsable r fallback a
|
|||
|
||||
gitRepoInfo :: Remote -> Annex [(String, String)]
|
||||
gitRepoInfo r = do
|
||||
d <- fromRepo Git.localGitDir
|
||||
d <- fromRawFilePath <$> fromRepo Git.localGitDir
|
||||
mtimes <- liftIO $ mapM (modificationTime <$$> getFileStatus)
|
||||
=<< dirContentsRecursive (d </> "refs" </> "remotes" </> Remote.name r)
|
||||
let lastsynctime = case mtimes of
|
||||
|
|
|
@ -65,7 +65,7 @@ git_annex_shell cs r command params fields
|
|||
let params' = if debug
|
||||
then Param "--debug" : params
|
||||
else params
|
||||
return (Param command : File dir : params')
|
||||
return (Param command : File (fromRawFilePath dir) : params')
|
||||
uuidcheck NoUUID = []
|
||||
uuidcheck u@(UUID _) = ["--uuid", fromUUID u]
|
||||
fieldopts
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue