Well yes, but it also aborted the build process.
That was intended, even though it really did not.
EDIT: And maybe just quit if the output file already exists to not overwrite revision information already present?
In that case, your revision will never change, no matter to what revision you update. This defeats the purpose of autorevision, you could just as well hardcode a revision number into your sources then. The purpose of this tool is to update the revision number that is visible in the application every time the revision of the source files has changed, without any interaction from the user.
How do you mean the build shoundn't abort?
It should. That's my point. As you can see from the source which you posted yourself, the exit code was -1. Therefore, the error "missing file autorevision.h" should be entirely impossible because the build process should immediately break after autorevision exits.
...then 2 files don't have to recompile each time when you build some or your own modified sources (though you can see this also as a revision, but it won't make it to svn).
This is not the case anyway. The tool itself is never compiled, except if you run "rebuild all" (and it only takes one second to compile, anyway).
The header file is modified if and only if the revision in the header file is different from the revision of the working copy, and there are no exceptions to that rule.
Any "improvements" on that behaviour render the tool entirely useless. The revision number is something you have to be able to rely on, as it is used to track down bugs in the application. If there are exceptions to whether or not the revision is updated, then you are off better to not use it at all.