gipeda 0.3.2.1 → 0.3.2.2
raw patch · 3 files changed
+19/−13 lines, 3 filesdep ~aesondep ~extra
Dependency ranges changed: aeson, extra
Files
- gipeda.cabal +3/−3
- src/BenchmarkSettings.hs +2/−2
- src/Shake.hs +14/−8
gipeda.cabal view
@@ -1,5 +1,5 @@ name: gipeda-version: 0.3.2.1+version: 0.3.2.2 category: Development synopsis: Git Performance Dashboard description:@@ -76,12 +76,12 @@ vector >= 0.10 && <0.12, cassava >= 0.4 && <0.5, yaml >= 0.8 && <0.9,- aeson >= 0.7 && <0.12,+ aeson >= 0.7 && <1.1, scientific >= 0.3 && <0.4, gitlib >= 3.1.0.2 && <3.2, gitlib-libgit2, tagged >= 0.7 && <0.9,- extra >= 1 && <1.5,+ extra >= 1 && <1.6, file-embed >= 0.0.9 && < 0.0.11, concurrent-output >= 1.7 && < 1.8, transformers >= 0.4 && < 0.6
src/BenchmarkSettings.hs view
@@ -87,7 +87,7 @@ , revisionInfo :: String , diffLink :: Maybe String , limitRecent :: Integer- , start :: String+ , start :: Maybe String , interestingTags :: Maybe String , interestingBranches :: Maybe String , benchSettings :: BenchName -> BenchSettings@@ -99,7 +99,7 @@ <*> v .: "revisionInfo" <*> v .: "diffLink" <*> v .: "limitRecent"- <*> v .: "start"+ <*> v .:? "start" <*> v .:? "interestingTags" <*> v .:? "interestingBranches" <*> (unS <$> v.: "benchmarks")
src/Shake.hs view
@@ -46,11 +46,15 @@ gitRange :: Action [String] gitRange = do s <- liftIO $ S.readSettings "gipeda.yaml"- let first = S.start s heads <- readFileLines "site/out/heads.txt"- Stdout range <- git "log" $ ["--format=%H","^"++first] ++ heads+ Stdout range <- git "log" $ ["--format=%H"] ++ excludePreStart s ++ heads return $ words range +excludePreStart :: S.Settings -> [String]+excludePreStart s = case S.start s of+ Just hash -> ["^" ++ hash ++ "^@"]+ Nothing -> []+ needIfThere :: [FilePath] -> Action [FilePath] needIfThere files = do existing <- filterM doesFileExist files@@ -79,6 +83,11 @@ Nothing -> return [] Just p -> findRecent logSource m (n-1) p +descendsFromStart :: S.Settings -> Hash -> Action Bool+descendsFromStart s hash = case S.start s of+ Just startHash -> liftAction $ isGitAncestor "repository" startHash hash+ Nothing -> return True+ newtype LimitRecent = LimitRecent () deriving (Show,Typeable,Eq,Hashable,Binary,NFData) @@ -194,10 +203,7 @@ heads <- readFileLines "site/out/heads.txt" s <- liftIO $ S.readSettings "gipeda.yaml"- let first = S.start s-- Stdout stdout <- git "log" $- "--format=%H;%P": ("^"++first) : heads+ Stdout stdout <- git "log" $ ["--format=%H;%P"] ++ excludePreStart s ++ heads writeFileChanged out stdout want ["site/out/history.csv"] @@ -240,7 +246,7 @@ writeFileChanged out "" Just pattern -> do Stdout tags <- git "tag" ["-l", pattern]- tags' <- filterM (liftAction . isGitAncestor "repository" (S.start s)) (lines tags)+ tags' <- filterM (descendsFromStart s) (lines tags) writeFileChanged out (unlines tags') "site/out/branches.txt" %> \ out -> do@@ -253,7 +259,7 @@ writeFileChanged out "" Just pattern -> do Stdout branches <- git "branch" ["--list", pattern]- branches <- filterM (liftAction . isGitAncestor "repository" (S.start s)) (map (drop 2) $ lines branches)+ branches <- filterM (descendsFromStart s) (map (drop 2) $ lines branches) branches <- filterM (\b -> liftAction $ not <$> isGitAncestor "repository" b "master") branches writeFileChanged out (unlines branches)