more OsPath conversion
Sponsored-by: k0ld
This commit is contained in:
parent
474cf3bc8b
commit
71195cce13
33 changed files with 198 additions and 194 deletions
|
@ -130,7 +130,7 @@ getExportExcluded :: UUID -> Annex [Git.Tree.TreeItem]
|
|||
getExportExcluded u = do
|
||||
logf <- fromRepo $ gitAnnexExportExcludeLog u
|
||||
liftIO $ catchDefaultIO [] $ exportExcludedParser
|
||||
<$> F.readFile (toOsPath logf)
|
||||
<$> F.readFile logf
|
||||
where
|
||||
|
||||
exportExcludedParser :: L.ByteString -> [Git.Tree.TreeItem]
|
||||
|
|
|
@ -124,7 +124,7 @@ parseLoggedLocationsWithoutClusters l =
|
|||
map (toUUID . fromLogInfo . info)
|
||||
(filterPresent (parseLog l))
|
||||
|
||||
getLoggedLocations :: (RawFilePath -> Annex [LogInfo]) -> Key -> Annex [UUID]
|
||||
getLoggedLocations :: (OsPath -> Annex [LogInfo]) -> Key -> Annex [UUID]
|
||||
getLoggedLocations getter key = do
|
||||
config <- Annex.getGitConfig
|
||||
locs <- map (toUUID . fromLogInfo) <$> getter (locationLogFile config key)
|
||||
|
@ -301,8 +301,8 @@ overLocationLogsJournal v branchsha keyaction mclusters =
|
|||
changedlocs _ _ _ Nothing = pure (S.empty, S.empty)
|
||||
|
||||
overLocationLogsHelper
|
||||
:: ((RawFilePath -> Maybe Key) -> (Annex (FileContents Key b) -> Annex v) -> Annex a)
|
||||
-> ((Maybe L.ByteString -> [UUID]) -> Key -> RawFilePath -> Maybe (L.ByteString, Maybe b) -> Annex u)
|
||||
:: ((OsPath -> Maybe Key) -> (Annex (FileContents Key b) -> Annex v) -> Annex a)
|
||||
-> ((Maybe L.ByteString -> [UUID]) -> Key -> OsPath -> Maybe (L.ByteString, Maybe b) -> Annex u)
|
||||
-> Bool
|
||||
-> v
|
||||
-> (Annex (FileContents Key b) -> Annex v -> Annex v)
|
||||
|
|
|
@ -59,7 +59,7 @@ import qualified Data.ByteString.Lazy as L
|
|||
getCurrentMetaData :: Key -> Annex MetaData
|
||||
getCurrentMetaData = getCurrentMetaData' metaDataLogFile
|
||||
|
||||
getCurrentMetaData' :: (GitConfig -> Key -> RawFilePath) -> Key -> Annex MetaData
|
||||
getCurrentMetaData' :: (GitConfig -> Key -> OsPath) -> Key -> Annex MetaData
|
||||
getCurrentMetaData' getlogfile k = do
|
||||
config <- Annex.getGitConfig
|
||||
parseCurrentMetaData <$> Annex.Branch.get (getlogfile config k)
|
||||
|
@ -101,7 +101,7 @@ getCurrentRemoteMetaData (RemoteStateHandle u) k = extractRemoteMetaData u <$>
|
|||
addMetaData :: Key -> MetaData -> Annex ()
|
||||
addMetaData = addMetaData' (Annex.Branch.RegardingUUID []) metaDataLogFile
|
||||
|
||||
addMetaData' :: Annex.Branch.RegardingUUID -> (GitConfig -> Key -> RawFilePath) -> Key -> MetaData -> Annex ()
|
||||
addMetaData' :: Annex.Branch.RegardingUUID -> (GitConfig -> Key -> OsPath) -> Key -> MetaData -> Annex ()
|
||||
addMetaData' ru getlogfile k metadata =
|
||||
addMetaDataClocked' ru getlogfile k metadata =<< currentVectorClock
|
||||
|
||||
|
@ -112,7 +112,7 @@ addMetaData' ru getlogfile k metadata =
|
|||
addMetaDataClocked :: Key -> MetaData -> CandidateVectorClock -> Annex ()
|
||||
addMetaDataClocked = addMetaDataClocked' (Annex.Branch.RegardingUUID []) metaDataLogFile
|
||||
|
||||
addMetaDataClocked' :: Annex.Branch.RegardingUUID -> (GitConfig -> Key -> RawFilePath) -> Key -> MetaData -> CandidateVectorClock -> Annex ()
|
||||
addMetaDataClocked' :: Annex.Branch.RegardingUUID -> (GitConfig -> Key -> OsPath) -> Key -> MetaData -> CandidateVectorClock -> Annex ()
|
||||
addMetaDataClocked' ru getlogfile k d@(MetaData m) c
|
||||
| d == emptyMetaData = noop
|
||||
| otherwise = do
|
||||
|
@ -160,5 +160,5 @@ copyMetaData oldkey newkey
|
|||
(const $ buildLog l)
|
||||
return True
|
||||
|
||||
readLog :: RawFilePath -> Annex (Log MetaData)
|
||||
readLog :: OsPath -> Annex (Log MetaData)
|
||||
readLog = parseLog <$$> Annex.Branch.get
|
||||
|
|
|
@ -56,11 +56,10 @@ import Git.Log
|
|||
import Logs.File
|
||||
import Logs
|
||||
import Annex.CatFile
|
||||
import qualified Utility.OsString as OS
|
||||
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Data.ByteString.Lazy as L
|
||||
import Control.Concurrent.STM
|
||||
import System.FilePath.ByteString as P
|
||||
|
||||
-- | What to use to record a migration. This should be the same Sha that is
|
||||
-- used to as the content of the annexed file in the HEAD branch.
|
||||
|
@ -95,7 +94,7 @@ commitMigration = do
|
|||
n <- readTVar nv
|
||||
let !n' = succ n
|
||||
writeTVar nv n'
|
||||
return (asTopFilePath (encodeBS (show n')))
|
||||
return (asTopFilePath (toOsPath (show n')))
|
||||
let rec h r = liftIO $ sendMkTree h
|
||||
(fromTreeItemType TreeFile)
|
||||
BlobObject
|
||||
|
@ -110,8 +109,8 @@ commitMigration = do
|
|||
n <- liftIO $ atomically $ readTVar nv
|
||||
when (n > 0) $ do
|
||||
treesha <- liftIO $ flip recordTree g $ Tree
|
||||
[ RecordedSubTree (asTopFilePath "old") oldt []
|
||||
, RecordedSubTree (asTopFilePath "new") newt []
|
||||
[ RecordedSubTree (asTopFilePath (literalOsPath "old")) oldt []
|
||||
, RecordedSubTree (asTopFilePath (literalOsPath "new")) newt []
|
||||
]
|
||||
commitsha <- Annex.Branch.rememberTreeish treesha
|
||||
(asTopFilePath migrationTreeGraftPoint)
|
||||
|
@ -129,7 +128,7 @@ streamNewDistributedMigrations incremental a = do
|
|||
(stoppoint, toskip) <- getPerformedMigrations
|
||||
(l, cleanup) <- inRepo $ getGitLog branchsha
|
||||
(if incremental then stoppoint else Nothing)
|
||||
[fromRawFilePath migrationTreeGraftPoint]
|
||||
[fromOsPath migrationTreeGraftPoint]
|
||||
-- Need to follow because migrate.tree is grafted in
|
||||
-- and then deleted, and normally git log stops when a file
|
||||
-- gets deleted.
|
||||
|
@ -142,7 +141,7 @@ streamNewDistributedMigrations incremental a = do
|
|||
go toskip c
|
||||
| newref c `elem` nullShas = return ()
|
||||
| changed c `elem` toskip = return ()
|
||||
| not ("/new/" `B.isInfixOf` newfile) = return ()
|
||||
| not (literalOsPath "/new/" `OS.isInfixOf` newfile) = return ()
|
||||
| otherwise =
|
||||
catKey (newref c) >>= \case
|
||||
Nothing -> return ()
|
||||
|
@ -150,10 +149,10 @@ streamNewDistributedMigrations incremental a = do
|
|||
Nothing -> return ()
|
||||
Just oldkey -> a oldkey newkey
|
||||
where
|
||||
newfile = toRawFilePath (changedfile c)
|
||||
newfile = changedfile c
|
||||
oldfile = migrationTreeGraftPoint
|
||||
P.</> "old"
|
||||
P.</> P.takeBaseName (fromInternalGitPath newfile)
|
||||
</> literalOsPath "old"
|
||||
</> takeBaseName (fromInternalGitPath newfile)
|
||||
oldfileref = branchFileRef (changed c) oldfile
|
||||
|
||||
getPerformedMigrations :: Annex (Maybe Sha, [Sha])
|
||||
|
|
|
@ -32,7 +32,7 @@ requiredContentSet u expr = do
|
|||
setLog requiredContentLog u expr
|
||||
Annex.changeState $ \st -> st { Annex.requiredcontentmap = Nothing }
|
||||
|
||||
setLog :: RawFilePath -> UUID -> PreferredContentExpression -> Annex ()
|
||||
setLog :: OsPath -> UUID -> PreferredContentExpression -> Annex ()
|
||||
setLog logfile uuid@(UUID _) val = do
|
||||
c <- currentVectorClock
|
||||
Annex.Branch.change (Annex.Branch.RegardingUUID [uuid]) logfile $
|
||||
|
|
|
@ -32,11 +32,11 @@ import Git.Types (RefDate)
|
|||
import qualified Data.ByteString.Lazy as L
|
||||
|
||||
{- Adds to the log, removing any LogLines that are obsoleted. -}
|
||||
addLog :: Annex.Branch.RegardingUUID -> RawFilePath -> LogStatus -> LogInfo -> Annex ()
|
||||
addLog :: Annex.Branch.RegardingUUID -> OsPath -> LogStatus -> LogInfo -> Annex ()
|
||||
addLog ru file logstatus loginfo =
|
||||
addLog' ru file logstatus loginfo =<< currentVectorClock
|
||||
|
||||
addLog' :: Annex.Branch.RegardingUUID -> RawFilePath -> LogStatus -> LogInfo -> CandidateVectorClock -> Annex ()
|
||||
addLog' :: Annex.Branch.RegardingUUID -> OsPath -> LogStatus -> LogInfo -> CandidateVectorClock -> Annex ()
|
||||
addLog' ru file logstatus loginfo c =
|
||||
Annex.Branch.changeOrAppend ru file $ \b ->
|
||||
let old = parseLog b
|
||||
|
@ -53,7 +53,7 @@ addLog' ru file logstatus loginfo c =
|
|||
- When the log was changed, the onchange action is run (with the journal
|
||||
- still locked to prevent any concurrent changes) and True is returned.
|
||||
-}
|
||||
maybeAddLog :: Annex.Branch.RegardingUUID -> RawFilePath -> LogStatus -> LogInfo -> Annex () -> Annex Bool
|
||||
maybeAddLog :: Annex.Branch.RegardingUUID -> OsPath -> LogStatus -> LogInfo -> Annex () -> Annex Bool
|
||||
maybeAddLog ru file logstatus loginfo onchange = do
|
||||
c <- currentVectorClock
|
||||
let f = \b ->
|
||||
|
@ -72,15 +72,15 @@ genLine logstatus loginfo c old = LogLine c' logstatus loginfo
|
|||
|
||||
{- Reads a log file.
|
||||
- Note that the LogLines returned may be in any order. -}
|
||||
readLog :: RawFilePath -> Annex [LogLine]
|
||||
readLog :: OsPath -> Annex [LogLine]
|
||||
readLog = parseLog <$$> Annex.Branch.get
|
||||
|
||||
{- Reads a log and returns only the info that is still present. -}
|
||||
presentLogInfo :: RawFilePath -> Annex [LogInfo]
|
||||
presentLogInfo :: OsPath -> Annex [LogInfo]
|
||||
presentLogInfo file = map info . filterPresent <$> readLog file
|
||||
|
||||
{- Reads a log and returns only the info that is no longer present. -}
|
||||
notPresentLogInfo :: RawFilePath -> Annex [LogInfo]
|
||||
notPresentLogInfo :: OsPath -> Annex [LogInfo]
|
||||
notPresentLogInfo file = map info . filterNotPresent <$> readLog file
|
||||
|
||||
{- Reads a historical version of a log and returns the info that was in
|
||||
|
@ -88,7 +88,7 @@ notPresentLogInfo file = map info . filterNotPresent <$> readLog file
|
|||
-
|
||||
- The date is formatted as shown in gitrevisions man page.
|
||||
-}
|
||||
historicalLogInfo :: RefDate -> RawFilePath -> Annex [LogInfo]
|
||||
historicalLogInfo :: RefDate -> OsPath -> Annex [LogInfo]
|
||||
historicalLogInfo refdate file = parseLogInfo
|
||||
<$> Annex.Branch.getHistorical refdate file
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ scheduleChange u a = scheduleSet u . S.toList . a =<< scheduleGet u
|
|||
|
||||
getLastRunTimes :: Annex (M.Map ScheduledActivity LocalTime)
|
||||
getLastRunTimes = do
|
||||
f <- fromRawFilePath <$> fromRepo gitAnnexScheduleState
|
||||
f <- fromOsPath <$> fromRepo gitAnnexScheduleState
|
||||
liftIO $ fromMaybe M.empty
|
||||
<$> catchDefaultIO Nothing (readish <$> readFile f)
|
||||
|
||||
|
|
|
@ -27,13 +27,13 @@ import Annex.VectorClock
|
|||
|
||||
import qualified Data.Set as S
|
||||
|
||||
readLog :: (Ord v, SingleValueSerializable v) => RawFilePath -> Annex (Log v)
|
||||
readLog :: (Ord v, SingleValueSerializable v) => OsPath -> Annex (Log v)
|
||||
readLog = parseLog <$$> Annex.Branch.get
|
||||
|
||||
getLog :: (Ord v, SingleValueSerializable v) => RawFilePath -> Annex (Maybe v)
|
||||
getLog :: (Ord v, SingleValueSerializable v) => OsPath -> Annex (Maybe v)
|
||||
getLog = newestValue <$$> readLog
|
||||
|
||||
setLog :: (Ord v, SingleValueSerializable v) => Annex.Branch.RegardingUUID -> RawFilePath -> v -> Annex ()
|
||||
setLog :: (Ord v, SingleValueSerializable v) => Annex.Branch.RegardingUUID -> OsPath -> v -> Annex ()
|
||||
setLog ru f v = do
|
||||
c <- currentVectorClock
|
||||
Annex.Branch.change ru f $ \old ->
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue