remove some more !!

This commit is contained in:
Joey Hess 2012-10-18 00:45:22 -04:00
parent 813b28aa49
commit b281584422
2 changed files with 14 additions and 13 deletions

View file

@ -159,11 +159,10 @@ readLog = mapMaybe (parse . lines)
-- Parses something like ":100644 100644 oldsha newsha M" -- Parses something like ":100644 100644 oldsha newsha M"
parseRaw :: String -> (Git.Ref, Git.Ref) parseRaw :: String -> (Git.Ref, Git.Ref)
parseRaw l = (Git.Ref oldsha, Git.Ref newsha) parseRaw l = go $ words l
where where
ws = words l go (_:_:oldsha:newsha:_) = (Git.Ref oldsha, Git.Ref newsha)
oldsha = ws !! 2 go _ = error $ "unable to parse git log output: " ++ l
newsha = ws !! 3
parseTimeStamp :: String -> POSIXTime parseTimeStamp :: String -> POSIXTime
parseTimeStamp = utcTimeToPOSIXSeconds . fromMaybe (error "bad timestamp") . parseTimeStamp = utcTimeToPOSIXSeconds . fromMaybe (error "bad timestamp") .

View file

@ -120,17 +120,19 @@ data InternalUnmerged = InternalUnmerged
parseUnmerged :: String -> Maybe InternalUnmerged parseUnmerged :: String -> Maybe InternalUnmerged
parseUnmerged s parseUnmerged s
| null file || length ws < 3 = Nothing | null file = Nothing
| otherwise = do | otherwise = case words metadata of
stage <- readish (ws !! 2) :: Maybe Int (rawblobtype:rawsha:rawstage:_) -> do
unless (stage == 2 || stage == 3) $ stage <- readish rawstage :: Maybe Int
fail undefined -- skip stage 1 unless (stage == 2 || stage == 3) $
blobtype <- readBlobType (ws !! 0) fail undefined -- skip stage 1
sha <- extractSha (ws !! 1) blobtype <- readBlobType rawblobtype
return $ InternalUnmerged (stage == 2) file (Just blobtype) (Just sha) sha <- extractSha rawsha
return $ InternalUnmerged (stage == 2) file
(Just blobtype) (Just sha)
_ -> Nothing
where where
(metadata, file) = separate (== '\t') s (metadata, file) = separate (== '\t') s
ws = words metadata
reduceUnmerged :: [Unmerged] -> [InternalUnmerged] -> [Unmerged] reduceUnmerged :: [Unmerged] -> [InternalUnmerged] -> [Unmerged]
reduceUnmerged c [] = c reduceUnmerged c [] = c