diff --git a/src/Development/Shake/Internal/Core/Run.hs b/src/Development/Shake/Internal/Core/Run.hs index 2965b918..ca764182 100644 --- a/src/Development/Shake/Internal/Core/Run.hs +++ b/src/Development/Shake/Internal/Core/Run.hs @@ -212,12 +212,14 @@ updateDirtySet diag database (Just keys) = do transitive <- flip State.execStateT Set.empty $ traverse_ loop ids diag $ - if null ids then pure "Could not compute transitive changes for unknown keys" else do + if null ids && not (null keys) + then pure "Could not compute transitive changes for unknown keys" + else do let st = Set.size transitive - res = take 100 $ Set.toList transitive - ellipsis = if st > 100 then "..." else "" - keys <- unwords . map (show . fst) . catMaybes <$> mapM (getKeyValueFromId database) res - pure $ printf "%d transitive changes computed: %s%s" st keys ellipsis + res = take 500 $ Set.toList transitive + ellipsis = if st > 500 then "..." else "" + keys <- unlines . map (show . fst) . catMaybes <$> mapM (getKeyValueFromId database) res + pure $ printf "%d transitive changes computed: \n%s\n%s" st keys ellipsis markDirty database transitive