I was just getting ready to dump my newest project into VCS and was
wondering the same question. For me, since I'm not anywhere near
production yet, I am opting for just putting the application into VCS,
then I can use web2py's autoupdate feature. Again, I'm only using
this as a playground for putting ideas into code which might be used
later on down the line. So the version of web2py upgrading and
breaking things is not a concern for me.
If you're dealing with a real, life application for a client and
you're concerned about the extra files for GAE, I would start my VCS
at the base of web2py and only add my application and those files I
absolutely needed. The rest could be hg/bzr/git/svn ignore'd. Then
you can update just those files and track them, without being bothered
by changes to web2py. Again, since I'm only dealing with a sandbox
for my own amusement and learning at this time, I'm not really
concerned about tracking web2py's updates and matching it for
compatibility nor the ability to rollback.
--Greg