FreeBSD を subversion で取得する2009年02月14日 01時54分13秒

FreeBSD の /usr/src の履歴管理が subversion に移って半年ぐらい経つ。ports は移行していないし、cvs は当分の間はサポートされるのは表明されているので、急いで移行する必要もない。

現実問題として、パッチなどを特に当てていなかったり、更新頻度が低いために毎度パッチを当てるのが苦でなければ、csup や portsnap の方が更新に掛かり時間は圧倒的に短い。

それ以外でも、subversion は各ファイルを二つずつ保持するので、必要なディスク容量も二倍必要になる。既にパッチのたくさん当たっている cvs から移行する手間も考えると、svn に移行する絶対的な利点は無いと思っている。唯一の利点は、svn diff はレポジトリへ接続しないので、ネットワーク接続が無くても diff が取れる事ぐらいだ。

しかし、そこにあるから試したくなるのも人の心だ。まず、subversion を ports からインストールする。


$ cd /usr/ports/devel/subversion-freebsd
$ make install

$FreeBSD$ を展開する細工が必要なので、標準的な実装ではパッチを作って投げる時に支障をきたす。しかし、手元で追いかけるだけなら、この限りではない。

HEAD を追いかける。


svn checkout svn://svn.freebsd.org/base/head /usr/src

7-STABLE を追いかける。

svn checkout svn://svn.freebsd.org/base/stable/7 /usr/src

FreeBSD 6.3-RELEASE のパッチを追いかける。

svn checkout svn://svn.freebsd.org/base/release/6.3.0 /usr/src

上記のコマンドは全て、/usr/src にコードを展開する。/usr/src に既にファイルがあると失敗する。