さくらレンタルサーバでTracとSVN連携

さくらレンタルサーバにTracをインストール の続きです。

svn/repos/hooks/のpost-commitの中身

[post-commit]

REPOS=”$1″
REV=”$2″

#1:trac-admin起動するだけ(2を使うときは必要なし)
/home/[ユーザ名]/local/bin/trac-admin /home/[ユーザ名]/var/trac/project changeset added “[プロジェクト名]” $REV

#2:コミットコメントで所定の書式を書くとチケットに反映されるスクリプトを実行(1の機能を含む)
/home/[ユーザ名]/svn/repos/hooks/trac-svn-hook “$REPOS” “$REV”

[post-commit]同フォルダに置いた[trac-svn-hook]

#48行目あたりから
# == Configuration
PATH=/home/[ユーザ名]/local/bin:$PATH
export PATH

export TRAC_ENV=”/home/[ユーザ名]/var/trac/project”
export LD_LIBRARY_PATH=/home/[ユーザ名]/local/lib/python/lib:$LD_LIBRARY_PATH
PYTHONPATH=/home/[ユーザ名]/local/lib/python:/home/[ユーザ名]/local/lib/python/site-packages;
export PYTHONPATH

としてやると。

で、管理画面->プラグインから、[trac 0.12.2.ja1]をひらいて、「tracopt.ticket.commit_updater.*」の項にある「CommitTicketReferenceMacro」と「CommitTicketUpdater」のチェックをつけて変更適用すると、コミットコメントにTrac用のコメントを追加することで、チケットとコミットが関連付けられるようになります。

  • Refs #(チケット番号)  →コミットのチケットへの関連付け
    Fixes #(チケット番号) →Refs の機能に加えて、チケットをfixedでクローズ

さくらレンタルサーバにTracをインストール

TracJaInstall – attosoft.info Trac」の通りでほとんどOKでした。

いろんなサイト見たけど、サーバに既にPythonなどなど入ってるのに手動で入れるのってどうなの?という疑問が上記サイトでは解決されていて、ありがたかったです。

あ、ただ、svnは1.6.15じゃないとエラーになりました。
1.6.16のgmakeは試してないのですが。

これからがんばって使い方覚えよう。

Subversion:リポジトリ移動時メモ[UUIDファイル上書き]

ローカルにあるリポジトリで制作していて、さあリリース!となったときに、オンラインにソース管理移すことってあるとおもうのですが。

こっちのチェックアウトフォルダにはSVNのignoreなどが保存されてるEclipseのワークスペースがあって、そこで今後も作業をしたい。

ローカルのリポジトリには(製作中の恥ずかしいコミット履歴等)黒歴史や、他のプロジェクトのものもあるから、リポジトリ丸ごと移すわけにはいきませぬぅぅ….。

ワークスペースのものを、新しくサーバで作ったリポジトリに再配置しようとすると、「UUIDが異なるため再配置できません!」といわれてどうにもなりません。

コレを解決する一番安全な方法は「チェックアウト」しなおすことのようです。
が、ワークスペース一回初期化しないとダメだし、コミットしないだけで必要なファイルとかいろんなところに配置してありますがな…。(生理整頓されていれば特に問題なくチェックアウトできるんですけど・笑)

下記の条件がそろったら、ちょっと簡単な方法があるかもしれません。

1.ローカルのリポジトリは最悪今後使わなくてもよい。
2.サーバのリポジトリは新規作成のもので、FTPなどから操作可能

コレがクリアできて、とりあえずなんか起きても責任持てそうだったら、

ローカルリポジトリ/db/uuidファイルを、サーバリポジトリ/db/uuidファイルに上書きしてみてはいかがでしょうか。

その後普通に再配置コマンドを実行すると、エラーも無くすんなりいきました。

今のところ問題なく動いてます。