content: -- |
  -- Module      : Data.Git
  -- License     : BSD-style
  -- Maintainer  : Vincent Hanquez <vincent@snarc.org>
  -- Stability   : experimental
  -- Portability : unix
  --
  module Data.Git
      (
      -- * Basic types
        Ref
      , RefName(..)
      , Commit(..)
      , Person(..)
      , CommitExtra(..)
      , Tree(..)
      , Blob(..)
      , Tag(..)
      , GitTime
      , ModePerm(..)
      , EntName
      , EntPath
      , entName
      , entPathAppend
  
      -- * Helper & type related to ModePerm
      , ObjectFileType(..)
      , FilePermissions(..)
      , getPermission
      , getFiletype
  
      -- * Revision
      , Revision
      , resolveRevision
  
      -- * Object resolution
      , resolveTreeish
      , resolvePath
  
      -- * repo context
      , Git
      , withCurrentRepo
      , withRepo
      , findRepo
  
      -- * Repository queries and creation
      , initRepo
      , isRepo
  
      -- * Context operations
      , rewrite
  
      -- * Get objects
      , getObject
      , getCommit
      , getTree
  
      -- * Set objects
      , setObject
      , toObject
  
      -- * Work trees
      , WorkTree
      , EntType(..)
      , workTreeNew
      , workTreeFrom
      , workTreeDelete
      , workTreeSet
      , workTreeFlush
  
      -- * Named refs
      , branchWrite
      , branchList
      , tagWrite
      , tagList
      , headSet
      , headGet
      ) where
  
  import Data.Git.Ref
  import Data.Git.Types
  import Data.Git.Storage
  import Data.Git.Repository
  import Data.Git.Revision
  import Data.Git.Storage.Object (toObject)
  import Data.Git.WorkTree
  