-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Easy Git repository serialization -- -- This package defines a simple way to serialize state as a nested file -- hierarchy saved in a Git repository. It is still quite inflexible, and -- rather slow because it repeatedly invokes Git's plumbing commands. It -- used to be implemented with libgit2, but I found it desirable to avoid -- FFI. Any way to make it faster without FFI would be great. @package restless-git @version 0.5.0 -- | This module defines a simple way to serialize state as a nested file -- hierarchy saved in a Git repository. module Restless.Git -- | A fact path is something like "/0123...abc/storage/0x1". It has some -- number of directories and a file name. data Path Path :: [ByteString] -> ByteString -> Path -- | A file is a serialized value with a path. data File File :: Path -> ByteString -> File [filePath] :: File -> Path [fileData] :: File -> ByteString -- | Initialize an empty repository at the given path. make :: (Monad m, MonadIO m) => FilePath -> m () -- | Save a set of files to an initialized repository and commit this tree -- to the master branch with a given commit message. save :: (Monad m, MonadIO m) => FilePath -> Text -> Set File -> m () -- | Load a set of files from a repository's master branch. load :: (Monad m, MonadIO m) => FilePath -> m (Set File) instance GHC.Show.Show Restless.Git.MkTree instance GHC.Show.Show Restless.Git.SHA1 instance GHC.Show.Show Restless.Git.ObjectType instance GHC.Show.Show a => GHC.Show.Show (Restless.Git.Tree a) instance GHC.Base.Functor Restless.Git.Tree instance GHC.Show.Show Restless.Git.File instance GHC.Classes.Ord Restless.Git.File instance GHC.Classes.Eq Restless.Git.File instance GHC.Show.Show Restless.Git.Path instance GHC.Classes.Ord Restless.Git.Path instance GHC.Classes.Eq Restless.Git.Path instance GHC.Base.Monoid (Restless.Git.Tree a)