こんにちは。
やっぱりサーバ側の環境を変えるのも怖いので、結局CVSをしつこく使うことにしました。その代わり、CVSの複数のモジュールをプロジェクトに関連づ
けられる実行スクリプトを作って対処することにしました。
lib/redmine/scm/adapters/cvs_adapter.rb は cvs の実行ファイルを実行して、標準出力の内容を解析して
いるので、CvsAdaptor が実行する実行ファイルを自分で作ったスクリプト(cvs_alias.rb)に変更することで実現しました。
Redmineのリポジトリには、適当な仮想モジュール名(CVSのエイリアスとは無関係)をモジュール名として登録しておきま
す。cvs_alias.rb でその仮想モジュール名と複数のモジュールを関連づけるようにしました。Redmine にとってはその複数のモジュー
ルが、登録している仮想モジュール名の配下にある通常のディレクトリのように見えるので、リポジトリに関する全操作がうまく動作するようになりまし
た。
CVSを使って複数モジュールを扱いたい方はどうぞ。
使い方
* 添付のcvs_alias.rbをRedmineがうごいているサーバに保存します。
* Redmineで、プロジェクトのリポジトリに適当な「仮想モジュール名」をモジュール名に登録します。
* cvs_alias.rb を開いて、最初の辺りにある CVSROOT を実際のCVSROOT(Redmineで登録しているCVSROOT)
に変更します。さらに ALIASES で「仮想モジュール名」と実際の複数のモジュール名を結びつけます。
* lib/redmine/scm/adapters/cvs_adapter.rb の最初の辺りの CVS_BIN to /path/to/
cvs_alias.rb に変更して終わりです。
添付のcvs_alias.rbは
http://www.redmine.org/issues/show/779 の #13 にポストしてありま
す。