スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Subversion+Trac+Eclipseで開発・管理[4]

前回、PHPのインストールで終わってしまったので今回はちゃんとWebSVNの設置について解説。というか備忘録。

これはですねー、本当に備忘録なんですよ。
というのもWebSVN、単純にダウンロードして公開ディレクトリに設置して、設定ファイルをちゃっちゃっといじって使えないんですよ(自分が悪いだけかもしれません)

なかなか簡単に使わせてくれないWebSVNですが、やはり見やすいので設置したいと思います。

まずはダウンロード。
http://websvn.tigris.org/
上記サイトのドキュメントというところからダウンロード出来ます。
自分はWebSVN_161.tar.gzをダウンロード。

/home/kgworks/htdocs/内に解凍した後、ディレクトリ名をwebsvnという名前に変更しました。

websvn/include/distconfig.incをconfig.incという名前でコピーして使えという事なので下記のようにしてconfig.incを編集します。

# cd /home/kgworks/htdocs/websvn/include/
# cp distconfig.inc config.inc
# vi config.inc

変更した点は下記です。

// $config->setSVNCommandPath("Path/to/svn and svnlook/ e.g. c:\\program files\\subversion\\bin");
$config->setSVNCommandPath("/usr/local/bin/websvn");

// $config->parentPath("Path/to/parent (e.g. c:\\svn)");
$config->parentPath("/home/svn");

// include("languages/japanese-euc.inc"); // (Almost Unix/Linux/BSD)
include("languages/japanese-euc.inc"); // (Almost Unix/Linux/BSD)

// $config->setInputEncoding("iso-8859-1"); // Encoding of log messages returned by svnlook on your system
// $config->setOutputEncoding("iso-8859-1"); // Encoding of resulting web page
$config->setInputEncoding("UTF-8");
$config->setOutputEncoding("EUC-JP");

この設定の中で、これおかしいんじゃない?というのがあります。

$config->setSVNCommandPath("/usr/local/bin/websvn");

という部分なのですが、もともとそんなディレクトリは存在しません。
というわけでこれから作ります。

なんで作るのかというと、WebSVNからsvnlookというファイルを直接呼ばれると正しく動作しないので、ちょっとした小細工をしなければいけません。
WebSVNが使う実行ファイルはsvnとsvnlookだけなので、svnはシンボリックリンクを作成し、svnlookはviでスクリプトを作成します。

# mkdir /usr/local/bin/websvn
# cd /usr/local/bin/websvn/
# ln -s /usr/local/bin/svn svn
# vi svnlook

svnlookの内容は以下のようにします

#!/bin/bash
export LANG=japanese
/usr/local/svn/bin/svnlook "$@"

パーミッションを755に変更します

# chmod 755 svnlook

この状態で一旦WebSVNにアクセスしてみましょう。

ちゃんとリポジトリ一覧は表示されますか?
ちゃんとリポジトリ内のディレクトリは表示されますか?

特に問題なければそれでOKです。

え、ディレクトリが表示されない?

はい、自分もそうでした。

Googleで検索したところ、このフォーラムで、configclass.phpを修正してみろと書いてあるので、修正します。(念の為、configclass.phpのバックアップを取っておきましょう)

以下が該当記事です。
ここから

--- include/configclass.inc (revision 328)
+++ include/configclass.inc (working copy)
@@ -190,7 +190,7 @@
// Tool path locations

var $svnlook = "svnlook";
- var $svn = "svn --non-interactive";
+ var $svn = "svn --non-interactive --config-dir /tmp";
var $diff = "diff";
var $enscript ="enscript";
var $sed = "sed";
@@ -436,7 +436,7 @@

function setSVNCommandPath($path)
{
- $this->setPath($this->svn, $path, "svn");
+ $this->setPath($this->svn, $path, "svn --non-interactive --config-dir /tmp");
$this->setPath($this->svnlook, $path, "svnlook");
}

ここまで

以上の修正をすると、無事にディレクトリも表示され、ソースコードも表示されるようになりました!(パチパチパチ)

もしソースコードのコメント部分等が文字化けしている場合は、config.incの$config->setOutputEncoding("EUC-JP");を、開発しているソースコードのエンコードにしてみて下さい。
スポンサーサイト

この記事のトラックバックURL

http://kgworks.blog47.fc2.com/tb.php/24-59b8dd9b

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

テクノラティ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。