ライブラリ管理のお話(未完)

開発作業と切っても切り離せないライブラリ管理の話。
今回は実際に開発で使っているSubversionTortoiseSVN/Subclipse)で勉強会します。

一応軽く、SVNクライアントの紹介。

TortoiseSVN

何て読むのか実は知らなかったのですが、「トータスエスブイエヌ」と読むそうです。
Windowsで使えるSVNクライアント。
個人的には設計書をSVNで管理する時に使っています。
閲覧のみの場合はリポジトリブラウザから見て、
更新する場合だけ、ローカルにチェックアウトします。

Subclipse

Ecllipseで使えるSVNクライアント。
プログラムソースなどの各種資源はこちらで管理します。

チェックアウト/エクスポート/コミット/ブランチ作成/タグ打ち…
は結構スムーズに行くのですが、未だにわかっていないのが、

マージ

開発作業をやっていくと、ライブラリ管理に任命されたメンバーには色々な作業が発生します。

  • ブランチAのリビジョンxの資源をブランチBにコミットしといてね(はぁと
  • ブランチのリビジョンxからリビジョンyまでの変更内容をトランクにマージしてね(はぁと
  • ブランチAのリビジョンxの資源をブランチBにコミットしといてね(はぁと

これは、結構簡単でしょうか。
指定されたリビジョンの資源がブランチBになければ、コピーしてコミット(add)すれば良いだけですし、
ブランチBに既にある資源であれば、右クリックして比較、マージすれば良いわけです。

  • ブランチの7/1から7/31までの変更内容をトランクにマージしてね(はぁと

これは、なかなか大変です。マージ対象がどれだけあるかわからないので…。
また、トランクも更新されていたとしたら大問題です。
どちらが正しくてどちらが正しくないのか、ライブラリ管理だけをやっている人にはわからないからです。

  • 7/1から7/31までに変更された資源の一覧を出してね(はぁと

こんな要求もあるかもしれない。

って

ここまで書いた後で思いましたが、もしかして最初にライブラリ管理方法を
きっちり決めておけば、後になってごちゃごちゃにならなくてすむんでしょうね…。