Safe Haskell | None |
---|
Data.Git.Tree
- data TreeEntry
- blobRefWithMode :: Bool -> Blob -> TreeEntry
- blobRef :: Blob -> TreeEntry
- exeBlobRef :: Blob -> TreeEntry
- blobIdRef :: Oid -> Bool -> TreeEntry
- treeRef :: Tree -> TreeEntry
- treeIdRef :: Oid -> TreeEntry
- type TreeMap = Map Text TreeEntry
- data Tree = Tree {
- treeInfo :: Base Tree
- treeContents :: TreeMap
- newTreeBase :: Tree -> Base Tree
- createTree :: Repository -> Tree
- lookupTree :: Repository -> Oid -> IO (Maybe Tree)
- doLookupTreeEntry :: Tree -> [Text] -> IO (Maybe TreeEntry)
- lookupTreeEntry :: Tree -> FilePath -> IO (Maybe TreeEntry)
- withGitTree :: Updatable b => ObjRef Tree -> b -> (Ptr C'git_tree -> IO a) -> IO a
- writeTree :: Tree -> IO Tree
- doWriteTree :: Tree -> IO (Tree, COid)
- doModifyTree :: [Text] -> (Maybe TreeEntry -> Either a (Maybe TreeEntry)) -> Bool -> Tree -> IO (Either a Tree)
- modifyTree :: FilePath -> (Maybe TreeEntry -> Either a (Maybe TreeEntry)) -> Bool -> Tree -> IO (Either a Tree)
- doUpdateTree :: Tree -> [Text] -> TreeEntry -> IO Tree
- updateTree :: Tree -> FilePath -> TreeEntry -> IO Tree
- removeFromTree :: FilePath -> Tree -> IO Tree
- splitPath :: FilePath -> [Text]
Documentation
blobRefWithMode :: Bool -> Blob -> TreeEntrySource
exeBlobRef :: Blob -> TreeEntrySource
newTreeBase :: Tree -> Base TreeSource
createTree :: Repository -> TreeSource
Create a new, empty tree.
Since empty trees cannot exist in Git, attempting to write out an empty tree is a no-op.
lookupTree :: Repository -> Oid -> IO (Maybe Tree)Source
withGitTree :: Updatable b => ObjRef Tree -> b -> (Ptr C'git_tree -> IO a) -> IO aSource
writeTree :: Tree -> IO TreeSource
Write out a tree to its repository. If it has already been written, nothing will happen.
doModifyTree :: [Text] -> (Maybe TreeEntry -> Either a (Maybe TreeEntry)) -> Bool -> Tree -> IO (Either a Tree)Source