Trac1.0とSubversionの連携

提供: Wikiducca
移動: 案内検索

概要

Tracでリポジトリ(Subversion)と同期する手順。 ちょっとハマったのでメモ。

環境

  • Trac のバージョンは 1.0 (日本語版)
  • Subversion は Apache ではなく、svnserve で動いている。

Trac リポジトリのパス

/path/to/trac/repos/sandbox

svn リポジトリのパス

/path/to/svn/repos/sandbox


手順

trac.ini 修正

[components] 項目に、

tracopt.versioncontrol.svn.svn_fs.subversionconnector = enabled

を追記する。

※ 重要 ※ これをつけないと、この後でてくる同期のところで以下のエラーが出て正常に動作しなかった。

TracError: サポートしていないバージョン管理システム "svn": 適切なコンポーネントを見つけることができません。対応するプラグインは、有効になっていますか?

or

TracError: Unsupported version control system "svn": Can't find an appropriate component, maybe the corresponding plugin was not enabled?

Web の管理メニューから リポジトリ を開く

trac-svn 01.png

リポジトリの名前とパスを入力する

例)

名称: Subversion
ディレクトリ: /path/to/svn/repos/sandbox

trac-svn 02.png

=> [追加] をクリック


Trac をリポジトリと同期

# /usr/bin/trac-admin /path/to/svn/repos/sandbox repository resync "Subversion"

svnコミット時に自動で同期させる

# vi /path/to/svn/repos/sandbox/hooks/post-commit

post-commit内容

#!/bin/sh

REPOS="$1"
REV="$2"

/usr/bin/trac-admin /path/to/trac/repos/sandbox changeset added "$REPOS" "$REV"

実行権をつける

# chmod a+x post-commit


以上。

参考・引用

http://d.hatena.ne.jp/nishimura1986/20121007/1349588397