Myページ
ホーム
コミュニティの人々
ソフトウェア
技術紹介
適用分野
Tyzohとは
ご意見お問い合わせ

ワタナベのブログ

Svnリポジトリの再構築 TIPS

今日のハマリ。

Rinza Software FamilyのうちいくつかのソフトウェアはSubversionというバージョン管理システムで管理しているのですが、いろんなプロジェクトがひとつのSubversionリポジトリに混在していたので、1プロジェクト1リポジトリとなるように再構成しました。


手順としては、ここにあるように svnadmin dump した論理形式の
リポジトリをsvndumpfilterを使って、いらないディレクトリを消していきます。

repoX --> projectA
   |
   +-> projectB
   |
   +-> projectC

という感じ。
で、最終的には分割された複数の論理形式を svnadmin load します。

load が完了したら、正しくチェックアウトできるかを確認。

svn co file:///srv/svn/repo-projectA
svn co file:///srv/svn/repo-projectB
svn co file:///srv/svn/repo-projectC

よしOK。
ということで再び Apache 経由で参照できるように httpd.conf を書き換え。
以前からApacheを経由して WebDAV プロトコルでリポジトリにアクセスしていたので

以前: http://hostname/repoX/projectA
今回: http://hostname/projectA

という感じでURLが変わります。

複数のリポジトリが /srv/svn にできたので便利な方法があります。

SVNParentPath /srv/svn

これをやると個別にリポジトリのパスを SVNPath で指定する
(Location ディレクティブをリポジトリの数だけ書かないといけない)
ところを、親ディレクトリだけの指定で配下のリポジトリをすべて
公開することができます。

ということで、

引用:



 DAV svn
 SVNParentPath /srv/svn
 
 AuthzSVNAccessFile /etc/apache2/svn_authz_access_file

などとやってすんなりと移行完了。
Webブラウザから http://hostname/porjectA を参照すると確かにリポジトリの内容が見えます。


ここでやめておけばよかったのですが、せっかくなので Trac という Wiki + Bugトラッキング + Subversionリポジトリブラウザ なんてのをいれてみました。開発プロジェクトのポータルのような感覚で利用でき、オープンソースの開発プロジェクトで最近よく見かけます。

trac

trac を置くURLをLocationで作り出すのですが、svnリポジトリではURLをルート( / )にしていて同じく Location で指定しているので、Location の設定がバッティングしてしまい、うまく表示してくれません。

いろいろ試行錯誤の結果、svnのほうをDirectoryディレクティブで指定し、DocumentRoot でsvnのリポジトリを含むディレクトリを指定したら、めでたく両方の指定が有効になりました。

引用:


DocumentRoot /srv/svn
ScriptAliasMatch ^/trac(.*) /usr/share/trac/cgi-bin/trac.cgi$1

 SetEnv TRAC_ENV_PARENT_DIR /srv/trac


 DAV svn
 SVNParentPath /srv/svn

 AuthzSVNAccessFile /etc/apache2/svn_authz_access_file

Webブラウザで http://hostname/porjectAhttp://hostname/trac/porjectA を確認することができました。

しかし、ここからハマリが始まります。

ブラウザで確かにリポジトリが見えるのに、なぜか svn コマンドからはチェックアウトできなくなってしまいました。
いろいろ試してもダメ。

もうあきらめかけてた頃に以下のサイトを見つけて終了。

http://www.hinet.mydns.jp/~hiraku/tDiary/20050317.html

というわけで DocumentRoot が原因でした。

カテゴリ:サーバ管理

ワタナベ (2006-01-24 12:00) | コメント(0)| トラックバック(0)

トラックバック(0)

トラックバックURL:

コメント

コメントを投稿

名前

電子メール

URL

ログイン情報を記憶

コメント (スタイル用のHTMLタグを使うことができます)

プロフィール

ワタナベ

サーバ管理が趣味の渡邉充隆です。

仮想化やネットワーク構成に興味があります。
あとは、ウェブ系の技術(プログラミングからインフラまで)も好きで、特にデータの見せ方などを工夫することで情報の流通や再活用を促進する技術を研究しています。

dev.tyzoh.jp では ssdb の(コアではなく)周辺のコードをいじっています。

tumblr / del.icio.us

RSSフィード

コミュニティの人々 | ソフトウェア | 技術紹介 | 適用分野 | Tyzohとは | ご意見お問い合わせ

Copyright (C) 2004-2008 Nihon Unisys, Ltd. All Rights Reserved.
Powered by Movable Type Open Source