hashed-storage-0.6: Hashed file storage support code.Source codeContentsIndex
Storage.Hashed
Contents
Obtaining Trees.
Blob access.
Writing trees.
Unsafe functions for the curious explorer.
Synopsis
readPlainTree :: AbsRel x => Path x -> IO (Tree IO)
readDarcsHashed :: GetHash -> (Maybe Int, Hash) -> IO (Tree IO)
readBlob :: Blob m -> m ByteString
writePlainTree :: AbsRel x => Tree IO -> Path x -> IO ()
writeDarcsHashed :: Tree IO -> FilePath -> IO Hash
printPath :: Tree IO -> FilePath -> IO ()
Obtaining Trees.
Please note that Trees obtained this way will contain Stub items. These need to be executed (they are IO actions) in order to be accessed. Use expand to do this. However, many operations are perfectly fine to be used on a stubbed Tree (and it is often more efficient to do everything that can be done before expanding a Tree).
readPlainTree :: AbsRel x => Path x -> IO (Tree IO)Source
readDarcsHashed :: GetHash -> (Maybe Int, Hash) -> IO (Tree IO)Source
Blob access.
readBlob :: Blob m -> m ByteStringSource
Read a Blob into a Lazy ByteString. Might be backed by an mmap, use with care.
Writing trees.
writePlainTree :: AbsRel x => Tree IO -> Path x -> IO ()Source
Write out full tree to a plain directory structure. If you instead want to make incremental updates, refer to Storage.Hashed.Monad.
writeDarcsHashed :: Tree IO -> FilePath -> IO HashSource
Write a Tree into a darcs-style hashed directory.
Unsafe functions for the curious explorer.
These are more useful for playing within ghci than for real, serious programs. They generally trade safety for conciseness. Please use responsibly. Don't kill innocent kittens.
printPath :: Tree IO -> FilePath -> IO ()Source
Take a relative FilePath within a Tree and print the contents of the object there. Useful for exploration, less so for serious programming.
Produced by Haddock version 2.6.0