Hi Thomas,
Shake is sufficiently fast that I suspect you can just detect changes,
and then rerun Shake from scratch. Taking the example of the Ninja
build source (which I benchmark on every checkin), which is a 24
command build with 74 files, Shake from scratch takes 0.008s if
nothing needs building and 0.039 if everything needs building, minus
the time to run the commands. If that isn't fast enough, there's lots
I can do to cache the database in memory, avoid doing modtime checks
etc, but let me know if it's a problem. Using --timing or
shakeTimings=True to get some idea about where the time goes.
I certainly think there is some scope with integrating with Hobbes.
I've raised a ticket to either document how to do it, or perhaps
provide a helper function. I was thinking of implementing the logic on
4 from the StackOverflow question.
Thanks, Neil