darcs-2.4: a distributed, interactive, smart revision control system

Darcs.Repository.Cache

Synopsis

Documentation

cacheHash :: ByteString -> StringSource

cacheHash computes the cache hash (i.e. filename) of a packed string.

newtype Cache Source

Constructors

Ca [CacheLoc] 

Instances

data CacheType Source

Constructors

Repo 
Directory 

speculateFileUsingCache :: Cache -> HashedDir -> String -> IO ()Source

speculateFileUsingCache cache subdirectory name takes note that the file name is likely to be useful soon: pipelined downloads will add it to the (low-priority) queue, for the rest it is a noop.

writeFileUsingCache :: Cache -> Compression -> HashedDir -> ByteString -> IO StringSource

writeFileUsingCache cache compression subdir contents write the string contents to the directory subdir, except if it is already in the cache, in which case it is a noop. Warning (?) this means that in case of a hash collision, writing using writeFileUsingCache is a noop. The returned value is the filename that was given to the string.

peekInCache :: Cache -> HashedDir -> String -> IO BoolSource

peekInCache cache subdir hash tells whether cache and contains an object with hash hash in a writable position. Florent: why do we want it to be in a writable position?

hashedFilePath :: CacheLoc -> HashedDir -> String -> StringSource

hashedFilePath cachelocation subdir hash returns the physical filename of hash hash in the subdir section of cachelocation.