Hello dear maven-scm development team. Additionally to email from Sergey Zakusov, he sent 2 days ago. Our company developing open-source workflow based task-management system EmForge (http://www.emforge.org)
One of important part of this project - is integration with version control (you can check current implementation at http://www.emforge.org/browser) Our target for next milestone ( http://www.emforge.org/project/EmForge/milestone/EmForge0.24) was add support for CVS additionally to currently supported SVN. After small investigation, we decided to use maven-scm - since, seems it is really a great library provided common interface to many version control systems. With using maven-scm we hope to support browse for many other version controls, not only SVN and CVS (and for maven-scm we hope it will be good example of usage this library). Unfortunately, during deveopment we found, that current version of maven-scm is mostly designed to work on top of working directory and perform operations like update, commit and so on... In our case - we do not have any working directly. Plus, some functionality just missed and it is hard to implement version control browser with using maven-scm. As basic version we got svn-java provider. Unfortunately it is not a part of maven-scm - due to license problems with svnkit... anyway. And to implement fully functional repository browser we extended some basic maven-scm interfaces like: * ChangeFileEx ( http://www.emforge.org/fileviewer/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/ChangeFileEx.java ) * AbstractCatCommand ( http://www.emforge.org/fileviewer/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/cat/AbstractCatCommand.java) to be able get file contents for specified revision * ChangeSetEx ( http://www.emforge.org/fileviewer/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/ChangeSetEx.java) to display additional information in changeset Plus, as Sergey wrote - many problems produced the fact, that all basic classes has validation for "working directory" - and it is not possible to implement logic, not used it (but many scm command do not required working directory to be specified) - so, we had to implement many tricks to avoid this validation. We will be happy if our changes will not be like a branch - but will be contributed into maven-scm core and from our side ready to invest time to support this functionality in some other providers. Major idea - this extensions should be like "extensions" - so, old providers should keep working - but some new provider may return, for example not basic ChangeSet - but extended ChangeSet, and programs, required it - will able to use them. So, is it possible somehow contribute our changes into maven core and that we should do from our side for it? -- With best regards, Alexey Kakunin