add some functions listing log files

Not used yet, will be used by copy-branch to generate the list of files
to copy.
This commit is contained in:
Joey Hess 2021-05-13 14:57:38 -04:00
parent 4ff8a1ae2b
commit 40ade7a515
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
2 changed files with 23 additions and 4 deletions

20
Logs.hs
View file

@ -60,6 +60,26 @@ getLogVariety config f
logFilesToCache :: Int logFilesToCache :: Int
logFilesToCache = 2 logFilesToCache = 2
{- All the log files that might contain information about a key. -}
keyLogFiles :: GitConfig -> Key -> [RawFilePath]
keyLogFiles config k =
[ locationLogFile config k
, urlLogFile config k
, remoteStateLogFile config k
, metaDataLogFile config k
, remoteMetaDataLogFile config k
, remoteContentIdentifierLogFile config k
, chunkLogFile config k
] ++ oldurlLogs config k
{- All the log files that do not contain information specific to a key. -}
nonKeyLogFiles :: [RawFilePath]
nonKeyLogFiles = concat
[ topLevelNewUUIDBasedLogs
, topLevelOldUUIDBasedLogs
, otherTopLevelLogs
]
{- All the old-format uuid-based logs stored in the top of the git-annex branch. -} {- All the old-format uuid-based logs stored in the top of the git-annex branch. -}
topLevelOldUUIDBasedLogs :: [RawFilePath] topLevelOldUUIDBasedLogs :: [RawFilePath]
topLevelOldUUIDBasedLogs = topLevelOldUUIDBasedLogs =

View file

@ -26,15 +26,14 @@ uuid, including a special case involving remoteLog.
Implementation plan: Implementation plan:
* Address above problems with dropDead, somehow, so it can be reused. * Address above problems with dropDead, somehow, so it can be reused.
(done; refactored to filterBranch)
* Add a function (in Logs) from a key to all possible git-annex branch log * Add a function (in Logs) from a key to all possible git-annex branch log
files for that key. files for that key. (done; keyLogFiles)
* For each key seeked, run that function, query the branch to see which * For each key seeked, run that function, query the branch to see which
log files exist, and pass through dropDead to filter and populate log files exist, and pass through dropDead to filter and populate
the temporary index. This way, the command does not need to buffer the temporary index. This way, the command does not need to buffer
the whole set of keys in memory. the whole set of keys in memory.
* Get a list of all non-key logs * Pass nonKeyLogFiles through dropDead as well.
`(topLevelNewUUIDBasedLogs++topLevelOldUUIDBasedLogs++otherLogs)`,
and pass them all through dropDead as well.
* Refactor regraftexports from Annex.Branch, and call it after * Refactor regraftexports from Annex.Branch, and call it after
constructing the filtered index. constructing the filtered index.
"""]] """]]