So, the Version Control API doesn't yet live up to all that it promises to achieve, but it works well enough for what it does and should really get a stable release before more of the looming large database changes come up again. At this point, there are working backends for CVS, Git and Mercurial - all of them offer commit log functionality, and CVS also supports access control. Project node integration (versioncontrol_project) provides an optional extension to the core functionality with a mapping of commits to projects and associated access control rules.
Compared to a project*/cvslog based solution, Version Control API & friends currently still lacks integration with project release nodes and probably has suboptimal performance for large repositories with huge masses of commits. Both of those issues will be taken on for the 6.x version, and if you just need a log viewer for one or more (simultaneously) of the above version control systems then you might already find this set of modules quite appealing :)