implement annex.tune.branchhash1
I hope this doesn't impact speed much -- it does have to pull out a value from Annex state every time it accesses the branch now. The test case I dropped has never caught any problems that I can remember, and would have been rather difficult to convert.
This commit is contained in:
parent
009bd050c1
commit
b0575c621f
11 changed files with 78 additions and 64 deletions
|
@ -29,6 +29,7 @@ import Logs
|
|||
import Logs.Presence
|
||||
import Annex.UUID
|
||||
import Git.Types (RefDate)
|
||||
import qualified Annex
|
||||
|
||||
{- Log a change in the presence of a key's value in current repository. -}
|
||||
logStatus :: Key -> LogStatus -> Annex ()
|
||||
|
@ -38,7 +39,9 @@ logStatus key s = do
|
|||
|
||||
{- Log a change in the presence of a key's value in a repository. -}
|
||||
logChange :: Key -> UUID -> LogStatus -> Annex ()
|
||||
logChange key (UUID u) s = addLog (locationLogFile key) =<< logNow s u
|
||||
logChange key (UUID u) s = do
|
||||
config <- Annex.getGitConfig
|
||||
addLog (locationLogFile config key) =<< logNow s u
|
||||
logChange _ NoUUID _ = noop
|
||||
|
||||
{- Returns a list of repository UUIDs that, according to the log, have
|
||||
|
@ -51,7 +54,9 @@ loggedLocationsHistorical :: RefDate -> Key -> Annex [UUID]
|
|||
loggedLocationsHistorical = getLoggedLocations . historicalLog
|
||||
|
||||
getLoggedLocations :: (FilePath -> Annex [String]) -> Key -> Annex [UUID]
|
||||
getLoggedLocations getter key = map toUUID <$> (getter . locationLogFile) key
|
||||
getLoggedLocations getter key = do
|
||||
config <- Annex.getGitConfig
|
||||
map toUUID <$> (getter . locationLogFile config) key
|
||||
|
||||
{- Finds all keys that have location log information.
|
||||
- (There may be duplicate keys in the list.) -}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue