CVS FreeBSD から SVN FreeBSD へ移行2014年02月19日 12時18分57秒

PR からパッチを拾ってきてあったり、自分用に若干変えてあったりして、自分でカーネルを作りなおしている人達は、どの位残っているのだろうか。そんな人達にはこんな手順等要らないと思いつつも記す。

CVS でカーネルを取得できるのは、8.4 RELEASEまで。しかし、いきなり移行目的で最新を取り出すのは茨の道にわざわざ突っ込む行動。ローカルパッチを取り出すには cvs diff と patch を使わなければいけないので、異なるバージョンで行うと作業し辛い rej ファイルと格闘しなくてはいけなくなる。

それを避けるのは、単純に cvs と svn で同じバージョンを取り出せばいい。FreeBSD ではわざわざ全ての履歴を CVS から SVN に移してくれている。また、他のリリースに移るのにも svn のマージコンフリクトを用いた方が、作業効率が数段も良い。

手元には、9.1 まで追った cvs があるので、それで一例。9.1-RELEASE は 8.4-RELEASE よりも小さい数字だが、リリースの日付けは前なので、cvs にある。


% mv src src-cvn
% ( cd src-svn; cvs diff ) > 9.1-diff 
% svn checkout https://svn0.us-east.freebsd.org/base/release/9.1.0 src
...
A    src/include/utmpx.h
A    src/include/rpcsvc/ypclnt.h
A    src/include/rpcsvc/key_prot.x
 U   src
Checked out revision 262199.
% cd src
% patch -p0 < ../9.1-diff
...
% svn switch https://svn0.us-east.freebsd.org/base/release/10.0.0

最後に、10-RELEASE に移る場合は svn switch を使う。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2014/02/19/7226436/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。