11月28日の技術勉強会

11月28日の技術勉強会

11月28日に行われました技術発表会の内容を撮影した動画ファイルを公開いたしました。内容は以下のとおりです。

テーマ Subversion
発表 d:id:higepon
時間 11:15
ファイルサイズ 65,297,444Bytes

以下よりダウンロードしてご覧ください。

http://www.hatena.ne.jp/sound/tech/051128hatenatech.wmv

Subversionとは何か?

Subversion は、フリーオープンソースバージョン管理システムで、時間とともに変化するファイルディレクトリを管理します。

CVSの代替ツールとして、地位を確立しつつあります。

誰が開発しているの?開発の背景は?

バージョン管理のソフトを提供しているCollabNetという会社が開発。

Open Source Development with CVS (Coriolis, 1999)の著者である Karl Fogel とか、 Jim Blandyとか。

CVSには不満がたくさん!。ばっさりと不具合と言い切っていたりする(仕様不具合

不幸にも CVSオープンソースの世界において 事実上の標準となっていましたが、それは単に、少なくともフリーライセンスの下ではそれより良いものが何もなかったというのが理由の大部分でした

なぜいまSubversionか?

CVSとの違い、導入のメリットは?

1.ディレクトリ単位バージョン管理

CVSファイル単位バージョン管理なのに対して、Subversionは、ディレクトリ(ツリー)単位でも履歴が追えます。

ツリーで管理されるプロジェクトと相性がよい。

2.ファイルコピー・名称変更・移動

CVSの不満点の大部分を占める、この問題を解決してくれます。

CVSファイル移動

cvs remove して、 cvs add 履歴はリセットされる

Subversionならコマンドがあるよ。

3.アトミックなコミット

CVSでは、ファイル単位コミットでしたが、Subversionでは変更点すべてをひとかたまりとしてコミットします。

何らかのエラーで途中までコミットとかはない。

4.ネットワーク層

Subversionリポジトリアクセス用の抽象レイアがあり、新しいネットワークプログラムを簡単に実装できるようになっています。

→たくさん対応ツールができてくるかもね

5.他

データ処理の一貫性バイナリテキストが同じ方法で圧縮格納

効率的なブランチタグの作成→作成が速い

CVSからの移行は大丈夫?

いけてる機能

微妙な動作の違い

svn propset svn:ignore *.BAK .\src

svn copy # ブランチ作成
svn merge -r 303:302 http://svn.example.com/repos/calc/trunk

まとめ

良いところばかりだから早く移行しましょう。