fix git ls-tree parser

File mode is octal not decimal. This broke in the conversion to
attoparsec.

(I've submitted the content of Utility.Attoparsec to the attoparsec
developers.)

Test suite passes 100% now.
This commit is contained in:
Joey Hess 2019-12-06 13:58:28 -04:00
parent 4aaef14c61
commit f39f018ee0
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
5 changed files with 59 additions and 3 deletions

View file

@ -24,6 +24,7 @@ import Git.Command
import Git.Sha
import Git.FilePath
import qualified Git.Filename
import Utility.Attoparsec
import Numeric
import Data.Either
@ -90,7 +91,7 @@ parseLsTree b = case A.parse parserLsTree b of
parserLsTree :: A.Parser TreeItem
parserLsTree = TreeItem
-- mode
<$> A8.decimal
<$> octal
<* A8.char ' '
-- type
<*> A.takeTill (== 32)