This commit is contained in:
Dmitry Zuikov 2024-06-06 16:31:25 +03:00
parent ce5363cb86
commit 48194f1959
2 changed files with 13 additions and 4 deletions

View File

@ -23,9 +23,11 @@ import Data.ByteString.Char8 qualified as BS
import Data.ByteString.Lazy.Char8 qualified as LBS8 import Data.ByteString.Lazy.Char8 qualified as LBS8
import Data.ByteString.Lazy (ByteString) import Data.ByteString.Lazy (ByteString)
import Data.Either import Data.Either
import Data.Fixed
import Data.Maybe import Data.Maybe
import Data.HashMap.Strict (HashMap) import Data.HashMap.Strict (HashMap)
import Data.HashMap.Strict qualified as HM import Data.HashMap.Strict qualified as HM
import Data.HashSet qualified as HS
import Data.Text qualified as Text import Data.Text qualified as Text
import Data.Text.Encoding (decodeUtf8With) import Data.Text.Encoding (decodeUtf8With)
import Data.Text.Encoding.Error (ignore) import Data.Text.Encoding.Error (ignore)
@ -38,7 +40,7 @@ import System.Process.Typed
import Control.Monad.Trans.Cont import Control.Monad.Trans.Cont
import System.IO qualified as IO import System.IO qualified as IO
import System.IO.Temp (emptySystemTempFile) import System.IO.Temp (emptySystemTempFile)
import System.TimeIt
import Data.Map qualified as Map import Data.Map qualified as Map
@ -156,13 +158,12 @@ scanGitLogLocal :: FixmePerks m
-> FixmeM m () -> FixmeM m ()
scanGitLogLocal refMask play = do scanGitLogLocal refMask play = do
warn $ red "scanGitLogLocal" <+> pretty refMask warn $ red "scanGitLogLocal" <+> pretty refMask
warn $ yellow "STEP 1" <+> "get all known branches including remote"
refs <- listRefs (t,refs) <- timeItT listRefs
let hashes = fmap fst refs let hashes = fmap fst refs
warn $ yellow "STEP 2" <+> "for each branch --- get tree" warn $ yellow "listRefs in" <+> pretty (realToFrac t :: Fixed E6)
let pat = [(True, refMask)] let pat = [(True, refMask)]

View File

@ -24,6 +24,7 @@ module Fixme.State
, cleanStage , cleanStage
, insertProcessed , insertProcessed
, isProcessed , isProcessed
, selectProcessed
, HasPredicate(..) , HasPredicate(..)
) where ) where
@ -666,3 +667,10 @@ isProcessed what = do
select @(Only (Maybe Int)) [qc| select null from fixmeprocessed where hash = ? limit 1 |] (Only k) select @(Only (Maybe Int)) [qc| select null from fixmeprocessed where hash = ? limit 1 |] (Only k)
<&> isJust . listToMaybe <&> isJust . listToMaybe
selectProcessed :: (FixmePerks m, MonadReader FixmeEnv m)
=> m [HashRef]
selectProcessed = withState do
select_ [qc|select hash from fixmeprocessed|]
<&> fmap fromOnly