WARNING: svk 2.0 does not support VCP
VCP is a framework designed for interpolation between different version control systems.
SVN::Mirror has an adapter to VCP. This means you could virtually mirror the content of a different version control system that VCP supports.
VCP is currently not on CPAN, you may want to use AutrijusTang's version with a few fixes, available at http://search.cpan.org/~autrijus/VCP-autrijus-snapshot/. mcitp
Please use the latest SVN::Mirror and VCP::Dest::svk from CPAN. mcts If you need to synchronize from BKCVS sources, also grab VCP::Source::cvsbk from CPAN.gaspreisvergleich dortmund gasversorger wechseln düsseldorf drugs
- Are there any plans for creating VCP::Source::svk to allow merging back to CVS and Perforce repositories? And then possibly VCP::Dest::cvsbk to allow merging back to BKCVS repositories, though that might be BKCVS's business? Or perhaps pointers to documentation for ambitious and motivated developers who would like to write them?
Note that the "..." below are literally three dots. Also, just like mentioned in SVKTutorial: if using version 0.20 or earlier, swap the two path-like arguments to every invocation of svk mirror.
CVS
# creates the conventional trunk/ and branches/ under //project/fromcvs svk mirror cvs::pserver:user@host:/cvsroot:module/... //project/fromcvs # only mirror the trunk from the cvs svk mirror cvs::pserver:user@host:/cvsroot:module/... //project/fromcvs -- \ --branch-only=trunk # from local cvs repository svk mirror cvs:/path/to/cvsroot:module/... //project/fromcvs
Note from c00i90wn: In the case you want to use anonymous access for the cvs and you don't want VCP to ask your password everytime you do a /svk sync/ then you should use this syntax:
cvs::pserver:anonymous:@host:/cvsroot:module/...
Perforce
# infer host and user from P4PORT and P4USER env vars
svk mirror p4://depot/module/... //project/fromp4
# assume --branch-only=trunk
svk mirror p4:user@host:1666://depot/module/... //project/fromp4
# recognize //depot/module/main as trunk, and
# //depot/module/project-something as a branch
# called 'something'
svk mirror p4:user@host:1666://depot/module/... //project/fromp4 -- \
--source-trunk=main --source-branches=project-
Issues
- VCP cvs source creates very lame revisions for some cases that would make your resulting depot ugly:
- files created on branch
- mixed revision branching
- labels / tags are currently not supported; branches are supported.
- With VCP cvs, you must include a scheme like :pserver: or :ext:. Otherwise VCP gets very confused.
- VCP (as of version 0.9) tries to call cvs login even if you give a scheme like :ext:.
- trailing slash needed after cvs module name
- With VCP cvs, it appears that anonymous checkouts fail to cache the password (svk-0.23)
note: seems the trick mentioned in this user comment works http://drupal.org/node/320 (darix)
confirmation of the previous note - this works:
svk mirror cvs::pserver:anonymous:@cvs.sourceforge.net:/cvsroot:module/... //project/fromcvs
thank you darix (hernad)