Raw logs contain @@REDO lines instead of formatted data.

This makes them more reliable to parse.  redo-log can parse each line,
format and print it, then recurse if necessary.  This got a little ugly
because I wanted 'redo --raw-logs' to work, which we want to format the
output nicely, but not call redo-log.

(As a result, --raw-logs has a different meaning to redo and
redo-log, which is kinda dumb.  I should fix that.)

As an added bonus, redo-log now handles indenting of recursive logs, so
if the build was a -> a/b -> a/b/c, and you look at the log for a/b, it
can still start at the top level indentation.
This commit is contained in:
Avery Pennarun 2018-11-13 04:05:42 -05:00
commit 5c4f710f4e
18 changed files with 221 additions and 101 deletions

View file

@ -6,7 +6,7 @@ vars_init.init(sys.argv[1:])
import vars, state, builder, jwack, deps
from helpers import unlink
from log import debug, debug2, err
from logs import debug, debug2, err
def should_build(t):
f = state.File(name=t)