I think you're misusing the version control system. You shouldn't need to put revision numbers or dates into file names when you're using a VCS. The VCS will store that information for you automatically, as metadata. Instead of checking in a new file every time with a new revision/date, you should replace the old file. The old files will always be availble in the VCS history if you need them for some reason. In addition to reducing clutter, this has the advantage of always keeping the same file name which makes automation easier.
Also, as a general rule, you don't want to commit compiled binaries to the source tree. You should only commit the files you need to build the binaries (namely, the source and the makefile).
If you really do want to continue on your current plan, you're going to have difficulty. There's no way to know what revision number you will get until after the commit succeeds -- this is a basic design guarantee of the atomic commit concept. The best you can do is add a post-commit hook that checks out a copy of whatever was just committed and renames the file to be the revision number. This means the name change of the file will reflect an earlier revision than the one where the name change takes place, but it will allow you to have the file name revision number be the same as the changes that you made, which I think is what you want. This technique will also result in 2 commits for every change. I don't recommend it.