Date: Sat, 4 Sep 2004 12:43:53 +0100 From: Chia-liang Kao <clkao@clkao.org> To: hackers@freebsd.org Subject: [ANNOUNCE] Subversion/svk mirror of the FreeBSD src tree Message-ID: <20040904114353.GA43351@portege.clkao.org> Resent-Message-ID: <20040904121913.GB43400@portege.clkao.org>
next in thread | raw e-mail | index | archive | help
--qMm9M+Fa2AknHoGS Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Greetings, I'm pleased to announce a Subversion/svk mirror of the freebsd src tree at: svn://svn.clkao.org/freebsd/cvs Web interface at http://svn.clkao.org/svnweb/freebsd/log/cvs/ The mirror is incremental, and will be run twice a day. Meanwhile svk 0.20, the first beta release, is now available: http://freshmeat.net/releases/171821/ [1] BACKGROUND svk (devel/svk) is a distributed version control system based on the versioned filesystem of Subversion. An introduction can be found at: http://wagner.elixus.org/~clkao/svk-intro/. The key feature of svk is that you can create a local branch and commit offline, and then generate patches against the trunk easily, or merge back directly. svk also provides smart merging facility, so you can constantly merge from the trunk for a branch that lives longer. The purpose of this mirror is not telling anyone to switch version control systems immediately. It's more like providing something like how Perforce is currently used in the project, but more accessible and decentralized. FAQ * How do I use the mirror? Since the tree is quite large, you might not want to grab the entire repository's history. You can start off with the 100 most recent revisions like this: svk mirror //freebsd/trunk svn://svn.clkao.org/freebsd/cvs/trunk svk sync --skipto HEAD-100 //freebsd/trunk * svk is built on-top of Subversion? I heard Subversion is slow. Doesn't that means svk is even slower? svk only uses the lowest two layers of Subversion, which is well-maintained and constantly improving. On large trees that reside locally, svk checkout is about twice as fast as svn. * How is the mirror provided? svk can also mirror non-subversion repositories with the nice and extensible VCP framework: svk mirror /freebsd/cvs cvs:/home/ncvs:src/... --branch-only=trunk,RELENG_4,RELENG_5 svk sync /freebsd/cvs That's it. You can run the mirror by yourself to pickup the branches you like. The memory consumption is about 300M. * The RELENG_* trees look a bit strange upon its initial creation. The branch grouping logic in VCP is not optimized yet for calculate the accurate branching point for all files. So the branches are created in some weird way, but they are still correct. It's currently not a priority task for me. * What happens when changes are merged back to cvs? Unfortunately the meta-data used by svk to record merge history will not (easily) propagate back to cvs. But normally they should be just be merged in the next merge down, while sometimes you might encounter conflicts if someone alters your change. A VCP Source driver for svk that does bidirectional synchronization of meta-data is required to solve this cleanly, however it's not a priority task for me either. * What is on the development roadmap of svk? o A lightweight, mirror-aware svkup protocol to update trees faster for non-developer access. o A centralized version and thin client, pretty much like how Perforce works. So people can choose between mirroring everything to be able to work offline, or to work online only. ACKNOWLEDGMENT Thanks to the FreeBSD project providing the excellent operating system that has been my primary development platform since 8 years ago. Special thanks to xs4all.nl for providing hardware and bandwidth for svk development and such mirror service. [1] Prebuilt binaries is available at http://rafan.infor.org/tmp/svk/. you only need devel/subversion (not even -perl) installed to run the binary. However it is a bit slow with this binary, but you don't have to install zillions of dependencies, and can preview the software easily. Cheers, CLK --qMm9M+Fa2AknHoGS Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFBOap4k1XldlEkA5YRAjH1AJ4n10Eu9VUtc2LvzTuqLtszjhmOIwCeMqKf tGt4ggEK1Spsp+cCzfFm5X8= =crfV -----END PGP SIGNATURE----- --qMm9M+Fa2AknHoGS--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040904114353.GA43351>