svnリポジトリ、Tracのパスが気に入らなくなったら

うちの会社では、プロジェクトをスタートするときに、まず、バージョン管理のsvnSubversion サブバージョン)と、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リポジトリを変更すると以下の作業が必要になります。


trac.iniのリポジトリに関する設定の変更

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

まとめ

初期段階で正式名称が決まっていなくてスタートする場合もありますが、コードネームだと後々分かりにくくなってしまうこともあると思います。こんな方法で初期に名前変更はありではないでしょうか?