fixedpoint.jp - CVS vs SVN




CVS vs SVN

以下の内容には誤りがあります: 詳しくは2007/05/26を見てください。

バージョン管理システムの CVSSVN とは歴史的な経緯もあってさまざまな点で比較が行われています。上に挙げたページで述べられている違いの他に特筆すべき点として、管理するファイルの属性情報を扱うかどうかという点があります。

CVS と異なり SVN はファイルのパーミッションや所有者などの属性をリポジトリに残しています。このため、例えば head でファイルのパーミッションが変更されている場合には、作業ディレクトリに update をかけるとその変更が反映されます。その際メッセージとしては

$ svn update
U  libavutil/bswap.h
 U libavcodec
A  libavcodec/ac3tab.c
D  libavcodec/ac3tab.h
A  libavcodec/ac3tab.h
U  libavcodec/h264.c
U  libavcodec/Makefile
...

といったように、(通常の内容変更については1カラム目に表れる)行頭の 'U' が2カラム目に表れます。

調べてみたところ、過去に CVS もこういった属性情報を扱う機能を導入したことがあったのですが、buggy であったため現在はコードベースにその名残(PRESERVE_PERMISSIONS_SUPPORT 等)が見えるだけのようです。


© 2006,2007 Takeshi Abe