2017年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

最近のトラックバック

無料ブログはココログ

2012年8月31日 (金)

バージョン管理システムをCVSからSVNに変更

 OuDiaのバージョン管理を、CVSからSubversionに変更しました。

 Subversionの導入は、今年の2月ごろから試行を重ねてきました(2月5日4月21日 )。その結果分かってきたのは、以下のようなことです。

  •  クライアントソフト Subcommander の使い方が徐々に分かってきたこと
  •  OuDiaがバージョンアップを重ねるにつれて、CVSの動作が不安定になってきたこと。
  •  CVSの欠点も顕在化してきたこと。また、その欠点が今後のOuDiaの予定を考える上で問題になること。

 OuDiaの開発はVer.1.02 をリリースした直後で、切りのいいところです。また、次のOuDiaの変更予定は、 『時刻表ビューの右ボタンメニューの不具合』の修正ですが、これは小規模な変更になります。このため、開発ツールを置き換えるのにはちょうどよい時期でした。

 CVSで管理していたソースをすべてSubversionに移行するには、2日ほどかかりました。手間がかかったのは、OuDia のソースが多かったことのほか、『リリース用.zip 作成プログラム』の変更と動作テストに手間がかかったのが理由です。

 『リリース用.zip 作成プログラム』は、以下のような動作をするプログラムです。

  1.  すべてのソースファイルを、Subversion(従来はCVS)からエクスポート(チェックアウト)する
  2.  チェックアウトしたファイルから、リリース用の.zipに必要なファイルを選ぶ
  3.  リリース用のソースファイルの先頭部に、コピーライト表記を書き込む。
  4.  コピーライト表記を書き込んだソースファイルを、リリース用の.zipファイルに格納する。
  5.  リリース用.zipファイルを解凍し、ソフトウエアのビルドを試行する。

 この一連の動作には、1時間近くかかります。しかも、途中でビルドエラーが出たら、ソースコード・もしくは『リリース用.zip 作成プログラム』を修正してSubversionにコミットし、『リリース用.zip 作成プログラム』の実行を最初からやり直しです。こんなことの繰り返しで、時間がかかってしまいました。

2012年4月21日 (土)

Subcommander を試行

  Subcommander は、Subversion のクライアントソフトです。先日 Subversion の導入に苦戦 にて書きましたが、Subversionの導入は、「Windows上のGUIクライアントソフトに使いやすいものがない」という理由で進んでいませんでした。

 今回久々にSubversionのことを思い出して、改めて検索してみたところ、Subcommander というクライアントソフトの存在に気付いたのでした。

 Subcommander を使って以下の操作を試行してみました。

  1. リポジトリの作成
  2. リポジトリにディレクトリを作成
  3. インポート
  4. チェックアウト
  5. ステータスの表示
  6. 差分の表示
  7. コミット
  8. ブランチの作成
  9. ブランチをトランクにマージ
  10. キーワード置換

 このうち、3. のインポートだけは、Subcommanderではできませんでした。メニューに[import]というコマンドはあるんですが、いつも無効(グレー)になっています。

 そのほかの操作は、Subcommander で比較的容易にできることが分かりました。インポートだけはコマンドラインツールでやることにして、後は Subcommander をつかうことにすれば、SubversionをGUI上で比較的楽に使うことができそうです。

2012年2月 5日 (日)

Subversion の導入に苦戦

 自宅のPCに、Subversion の導入を試行しました。

 現在、OuDia はCVSでバージョン管理を行っています。OuDiaにCVSを使い始めたのは2007年1月3日・OuDia Ver 0.04.07 からです。

 OuDiaは一人で作成していますので、バージョン管理システムなんておおげさな、とも思いましたが、当時既にOuDiaのソースコード量は8万行以上になっていて、バージョン管理は大変になっていました。このため、バージョン管理システムを導入すれば変更箇所を調べるときに便利なのでは、と思って導入しました。

 この当時、 Subversion という新たなバージョン管理システムがあり、CVSの後継になりつつあることは知っていました。しかし、Subversionは全く使ったことがなかったのに対し、 CVS は仕事場で使い慣れていて導入のハードルが低かったため、まずはCVSを導入したのでした。

 Subversionの導入試行は今回が初めてではなく、何度か試行しては断念を繰り返してきました。最大の理由は、Windows上のGUIクライアントソフトに使いたいと思えるものがなかったからです。もっとはっきりいえば、WinCVSと同じように使えるクライアントソフトがなかったからです。現状、Windows上のCVSクライアントソフトとしてはTortoiseSVN が多く使われているようですが、エクスプローラ拡張であるという点に、抵抗を感じてしまいます。

 他のWindows上のGUIクライアントソフトとして、 RapidSVN というのも以前からありました。今回もこれを試してみましたが、RapidSVNでは

 copy もしくは move 後にcommit の操作を行うと、ローカルの作業コピーが壊れてしまい、以後一切のリポジトリ操作がエラーで失敗する(エラーメッセージの例: アクション実行中にエラー: Working copy '<filename>' locked)

という問題に毎回ぶつかってしまいます。

 RapidSVNは、通常使う update,commit,diff,status などのコマンドは、それなりに便利に扱うことができます。このため、通常の操作はRapidSVN・copy,move だけはコマンドラインツールを使うことも考えました。しかし、コマンドラインツールでチェックアウトした作業コピーでRapidSVNを使うことはうまくいきませんでした。作業コピー管理ファイルのフォーマットに互換性がないようです。

 SubversionもいつのまにかApache.orgのプロジェクトとなり、今ではCVSにとって代わってバージョン管理システムの主流になっているようです。このため、僕としてもそろそろSubversionに移行しないと、乗り遅れてしまいそうだとは思います。しかし、Windows上のGUIクライアントソフトの問題がいまだに解決しないのには困ってしまいました。