Subversion再び,及びViewVC
2006.03.11 Saturday 22:20
Sourceforg.netが3月はじめからSubversionが使えるようになっていたことを知り,本日は1月以来忘れていたSubversion + ViewVCの調査.
途中ViewVCでpetitはまりもあったのでその件についても後述.
途中ViewVCでpetitはまりもあったのでその件についても後述.
いくつか先行してSubversionを試用しているプロジェクトへドキュメントのリンクが張られていたのでリポジトリをBrowseしてみたのだが,そこで1つCVSとは大きく異なる点に気付いた.(むろんリビジョンの概念とかは大きく違うが,ここではViewVCの話)
それはログの中にラベルが無いこと.ViewCVSではあるリビジョンにラベルが貼られていれば,それがファイルのログの中に現れてきた.それがない.何故そのようなことを気にするかというと,あるリビジョンで加えた変更が入っているのはリリースの何版からかを調べたくなることがあるからだ.
Subversionではラベルは別の場所へのコピーで代用される.コピーした方にはどこからコピーしたか親をたどることが出来る.ViewVCでもコピー元のログがファイル名付きで表示される.しかし,コピーされた方には記録が残らないので,メインのブランチにはラベル名はいっさい出てこないことになる.
では上に述べた例のケースでどのように対応するリリース版数を見つけるかであるが,2つほど解決策がわかった.
1つ目はViewVCに頼らない方法.TortoiseSVNのRevision Graphを使えば選択したファイルの系統図を他のブランチ・タグを含めて見ることが出来る.
もう1つはリビジョンを見る方法.Subversionではリビジョン番号がリポジトリ全体に付いているのでリビジョンの大小関係からリポジトリに加えられた変更の前後関係を知ることが出来る.まず特定のファイルのログから問題となる変更が入ったリビジョンを控える.その上でタグ一覧を見ると,それぞれのタグが付けられたリビジョンがわかるので,控えたリビジョン値より大きな値を持つラベルがそれを含む物と考えることが出来る.
ただし,当然ながらこれはどのラベルも同一のブランチに付いていることが前提.ブランチに関しても特定の変更が入った後に作られたブランチかどうかはブランチが作られた時点のリビジョンを見ればわかるのだが,こちらは新たな変更が加えられるとViewVCで表示される値が変わってしまうので,ブランチ作成時点でラベルを付けておかないと一目でというわけにはいかない.ブランチの場合はややこしくて,ファイル毎に異なるリビジョンから分岐している可能性があるので常にベースラベルは付けた方がよい.
まずはオーソドックスにViweVCのページから最新のリリース版を(ViewVCに名前が変わったはずなのにファイル名がview-cvsである点を不審に思いつつも)ダウンロードしてインストール.しかし,Subversionの設定が行えない.
いろいろ調べたところ,やはりviewcvsはViewVCではないのでSubversionを扱えないようだ.そしてViewVCは未だかつてリリースされたことが無いらしい.しょうがないのでnighty snapshotをダウンロードしてインストール...するはずがインストール時にエラーに遭遇.内容はwin32processが無いというもの.結論だけ書くと,http://www.python.jpにあるインストーラを使う場合には別途Python for Windows Extensionsもインストールが必要だった.
それはログの中にラベルが無いこと.ViewCVSではあるリビジョンにラベルが貼られていれば,それがファイルのログの中に現れてきた.それがない.何故そのようなことを気にするかというと,あるリビジョンで加えた変更が入っているのはリリースの何版からかを調べたくなることがあるからだ.
Subversionではラベルは別の場所へのコピーで代用される.コピーした方にはどこからコピーしたか親をたどることが出来る.ViewVCでもコピー元のログがファイル名付きで表示される.しかし,コピーされた方には記録が残らないので,メインのブランチにはラベル名はいっさい出てこないことになる.
では上に述べた例のケースでどのように対応するリリース版数を見つけるかであるが,2つほど解決策がわかった.
1つ目はViewVCに頼らない方法.TortoiseSVNのRevision Graphを使えば選択したファイルの系統図を他のブランチ・タグを含めて見ることが出来る.
もう1つはリビジョンを見る方法.Subversionではリビジョン番号がリポジトリ全体に付いているのでリビジョンの大小関係からリポジトリに加えられた変更の前後関係を知ることが出来る.まず特定のファイルのログから問題となる変更が入ったリビジョンを控える.その上でタグ一覧を見ると,それぞれのタグが付けられたリビジョンがわかるので,控えたリビジョン値より大きな値を持つラベルがそれを含む物と考えることが出来る.
ただし,当然ながらこれはどのラベルも同一のブランチに付いていることが前提.ブランチに関しても特定の変更が入った後に作られたブランチかどうかはブランチが作られた時点のリビジョンを見ればわかるのだが,こちらは新たな変更が加えられるとViewVCで表示される値が変わってしまうので,ブランチ作成時点でラベルを付けておかないと一目でというわけにはいかない.ブランチの場合はややこしくて,ファイル毎に異なるリビジョンから分岐している可能性があるので常にベースラベルは付けた方がよい.
ViewVCのインストール
まずはオーソドックスにViweVCのページから最新のリリース版を(ViewVCに名前が変わったはずなのにファイル名がview-cvsである点を不審に思いつつも)ダウンロードしてインストール.しかし,Subversionの設定が行えない.
いろいろ調べたところ,やはりviewcvsはViewVCではないのでSubversionを扱えないようだ.そしてViewVCは未だかつてリリースされたことが無いらしい.しょうがないのでnighty snapshotをダウンロードしてインストール...するはずがインストール時にエラーに遭遇.内容はwin32processが無いというもの.結論だけ書くと,http://www.python.jpにあるインストーラを使う場合には別途Python for Windows Extensionsもインストールが必要だった.
Comments