In latest build new interface methods have been added to the VCS interfaces.
com.intellij.openapi.vcs.diff.DiffProvider#getLastRevision(FilePath) : I guess this is the same as com.intellij.openapi.vcs.diff.DiffProvider#getLastRevision(VirtualFile) but would allow to query info for files that have been locally deleted ?
com.intellij.openapi.vcs.diff.DiffProvider#getLatestCommittedRevision : I'm not sure here, the name of the parameter is "vcsRoot", thus it would suggest it only makes sense for those VCSs that have repository wide revision numbers, am I right ?
What should VCS impls return when revisions are only file based ?
Also I don't quite get the new VcsKey that appeared in AbstractVCS. Looking at the Svn source code it seems that 2 instances of this class will be created , one as static member of SvnVcs and one as part of constructor of AbstracVcs.
Why isn't the svn implementation using com.intellij.openapi.vcs.AbstractVcs#getKeyInstanceMethod to fetch the key ? What would be the recommended usage?