svnリポジトリ、Tracのパスが気に入らなくなったら
うちの会社では、プロジェクトをスタートするときに、まず、バージョン管理のsvn(Subversion サブバージョン)と、Trac(トラック)というプロジェクト管理ツールの設定から作業をします。
このSVNリポジトリと、Tracは、サイトを表す文字列を指定することになり、それが、リポジトリやTracのURLとなります。
例えば、あるプロジェクトのリポジトリとTracは、弊社の社内環境の場合、以下のようになります。
この「project_a」という文字列を変えたくなった場合の対処方法です。
今回、とある案件の仮リポジトリを、「project_a」という名前で作成していましたが、ドメインが仮確定したので、ドメインに則した名前「examplesite」に変更することにしました。
SVNリポジトリの名前変更
リポジトリの物理パスを変更します。(※パスは環境により違います)
cd /var/svn/ mv project_a examplesite
これで完了です。ちょっと拍子抜けですね。
各個人の作業リポジトリは、もちろんパスを変更しなければなりません。
作業リポジトリのトップで、以下のコマンドを実行することで変更できます。
svn switch --relocate http://svn.local/project_a/trunk http://svn.local/examplesite/trunk
--relocate がミソです。
Tracのパスの変更
Tracも同様に物理パスを変更します。(※パスは環境により違います)
cd /usr/share/trac/projects/ mv project_a examplesite
これで、移動は完了ですが、SVNリポジトリを変更すると以下の作業が必要になります。
vi trac.ini
[trac] セクションの以下を修正します。
repository_dir = /var/svn/project_a
を変更するついでに、nameも変更をしたほうがいいでしょう。
diff trac.ini.20090402 trac.ini 81c81 < name = project_a --- > name = examplesite 171c171 < repository_dir = /var/svn/project_a --- > repository_dir = /var/svn/examplesite
これだけでは、足りないので以下の trac-admin コマンドを実行します。
trac-admin /usr/share/trac/projects/examplesite resync
まとめ
初期段階で正式名称が決まっていなくてスタートする場合もありますが、コードネームだと後々分かりにくくなってしまうこともあると思います。こんな方法で初期に名前変更はありではないでしょうか?