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.
I notice it doesn't quite work on my Ubuntu system - if I "cd version"
and run "../redo", I get the following output:
redo all
redo vars
redo gitvars
[: 24: %H: unexpected operator
[: 24: %d: unexpected operator
[: 24: %ci: unexpected operator
...and then a hang.
We have to go through some pretty scary gyrations to extract this
information from git, but it can be done. This works with both tarballs
generated by 'git archive', or with your local git repo.
(Requested by 'David' on the mailing list.)