add adjustTree (low-level) interface that avoids buffering much in memory

Using getTree and recordTree in my big repo takes 594 mb ram.
Using adjustTree takes 73 mb.
This commit is contained in:
Joey Hess 2016-02-23 21:35:16 -04:00
parent 9519af25f3
commit e08bebf0eb
Failed to extract signature
2 changed files with 81 additions and 32 deletions

View file

@ -31,7 +31,7 @@ import qualified System.FilePath.Posix
{- A FilePath, relative to the top of the git repository. -}
newtype TopFilePath = TopFilePath { getTopFilePath :: FilePath }
deriving (Show)
deriving (Show, Eq)
{- Path to a TopFilePath, within the provided git repo. -}
fromTopFilePath :: TopFilePath -> Git.Repo -> FilePath