This lets users configure gitbuilder without needing to change any files tracked by git. Note that branches.sh still chdirs to the build directory, as a convenience.
These branches are generally just weird interim tags created by git-svn, and they're not interesting to look at.
Tacked it on to the beginning of LICENSE.
It can build your software automatically. Which is updating in a sense, but not an obvious sense :) (Thanks to Josef Wolf for pointing this out.)^
…warnings. The "git reset --hard" that came after compensated for problems caused by modified files anyway, but the output looked confusing.
…code. If the build failed and returned nonzero but didn't print an error, the caching would result in us printing 'ok' instead of reporting an error.
If build.sh ended up launching a daemon or other program that ran in the background, the autobuild cycle would hang, because that daemon might keep its stdout open, and thus the "tee" it was feeding into would never exit. Of course, daemons are supposed to close their stdout/stderr when forking into the background, for exactly this reason. But since we're an autobuilder, we have no guarantee that the daemons we end up launching are actually well-written and bug free, so we can't rely on this working. Instead, runtee exits as soon as its subprogram dies *and* the input pipe is empty. It doesn't wait for the input pipe to *close*, however.
I had almost forgot I wrote maxtime. Man, I'm awesome.
This involved fixing a bug in the newly introduced "branches.sh -v", where the listed tags weren't actually the commitid of the tag, but the tag's hash instead.
Since we have that number available, actually print it out. It can be useful to indicate trends of improvement/degradation.
…NINGS. This allows you to mark parts of your build output as "warning-free", which is useful when you include modules that are out of your control.
Also moved the hardcoded colour formatting out to index.css.
The previous logic would misreport the sort of problem depending on the script's exit code. Now we always report Warnings, Errors, and Failures separately when we find them, *and* force an error if the exit code was nonzero *and* there were no test failures (since a build error is the only reason such a thing should happen). The result is we can now see at a glance when a build fails because of unit tests vs. build failures.
They mostly just made the UI less obvious, instead of more obvious. Just make hyperlinks work like normal instead of trying to be fancy.