Amazon 初売り

« 初音ミク冒険記をTracLightningで管理してみる1 | トップページ | 初音ミク冒険記をTracLightningで管理してみる3 »

2013.12.09

初音ミク冒険記をTracLightningで管理してみる2

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加

前回の記事を
「初音ミク冒険記をTracLightningで管理してみる1」とした理由は
最初の設定では1つ問題があったためだ。

その問題とは、TortoiseSVNでソースをコミットした時に
Trac_svn_commit_comment


というように自動的にチケットに更新履歴が増えるはずなのに
チケットに反映されないのだ。

<参考>
上記の画像で、Inの後ろは、SVNのコミット時のリビジョン番号
refs #1以降は、TortoiseSVNでコミット時のコメントで
refs #1というのはその時のコミットをチケット1番と関連付けるよ
という意味。
1が取り消し線になっているのは、既にチケットがクローズされているため

SVNのリポジトリフォルダは以下のようになっている
(TracLightningを導入前から使っていたリポジトリ)
Trac_svn_reps

リポジトリの関連付け

C:\TracLight\projects\trac\HatsuneMikuBoukenki\conf
にあるtrac.iniを修正した。(repository_dirをデフォルトの値から目的のフォルダに変更する)

[trac]
authz_module_name = HatsuneMikuBoukenki
repository_dir = F:\Visual Studio 2008\SVNrep

これだけでは、TracLightning側に反映されない(同期されていない)ので
スタートメニューの「Trac」にある「コマンドプロンプト」から
(ファイル名を指定して実行でcmdと叩いて起動するコマンドプロンプトではダメ)
以下のコマンドを叩く。

trac-admin C:\TracLight\projects\trac\HatsuneMikuBoukenki repository resync '(default)'

これでTracをブラウザで開いて左側の「リポジトリブラウザ」を選択すると
前述のリポジトリと関連づいているのが分かるような
SVNのコミットログが表示されているのが確認できた。

コミットした結果をtracへ

実は、ここが結構困ったところ。

SVNでコミットが終了したのをフックしてtracへ連携するのまでは
想像がついたので
tracに作った初音ミク冒険記のsvnのフックのテンプレートを持ってくる。
C:\TracLight\projects\svn\HatsuneMikuBoukenki\hooks
に「post-commit.bat」があるので
これを
F:\Visual Studio 2008\SVNrep\hooks
にコピーしたら終わりだと思っていたのだが
どうもそれだけではないらしい。

post-commit.batが動くか試しに単独実行してみる。
結果、正常に終了してチケットに反映されているだと!?

結局、前回の記事を書いた日以降、
ずっとネットとかでも調べてみたんだが、わからん!

なので、前回の記事を書いた日に暫定対処として
初音ミク冒険記のソースフォルダに
こんなバッチを作ってみた。

rem TortoiseSVNで初音ミク冒険記フォルダを指定いてコミットダイアログを出す
TortoiseProc.exe /command:commit /path:"F:\Visual Studio 2008\Projects\HatsuneMikuBoukenki"
rem コミットダイアログでコミットした時にpost-commit.batを起動する
rem コミットダイアログをキャンセルした時にpost-commit.batを起動しない
@echo off
echo ************ アプリケーションメニュー ************
echo [1] : コミットした
echo [2] : コミットしていない
echo **********************************************
set /p NUM="アプリケーションメニューから選択してください >"
if "%NUM%"=="1" post-commit.bat

まぁ、暫定対処としてはOKなんだが
やっぱり気に入らないやり方である。

そんなわけで、今日も少し調べていたところ

TracLightningをインストールしたのでメモ(2) 最初の設定」という記事を見て
Subversionのアクセス権について考えていなかったのに気づいた。

記事を参考にアクセス権を設定するも状況は変わらない・・・

そういや、なにかログって出てないのかな?
ログは以下の場所にあった。
C:\TracLight\projects\trac\HatsuneMikuBoukenki\log\trac.log

こんなログが出力されている。
2013-12-08 22:41:14,553 Trac[api] WARNING: Found no repositories matching 'F:\Visual' base.

ん?もしかしてスペースを含むパスなのが悪い?
ネットで調べると「Pythonは空白がお嫌い」、
空白を含むパス名で困ったときの応急処置
という記事があり、昔の短いファイル名にしてやると良いっぽい。

そこでtrac.iniを以下のように修正して、再度、リポジトリの同期をとってみた。

repository_dir = F:\VISUAL~1/SVNrep

が、ログが変わらない・・・

api.pyの該当行を見てみたが、
かげさんはpythonは使ったことがないので
詳しくはわかんないんだが、
想像力で読み解いたところ、
リポジトリパスを取得しているところで
期待通りに動作していないっぽい。

うーん、やっぱり、どこかでリポジトリのパスが指定されているっぽいなぁ。
しかも前述のiniファイル以外でだ。

他にどこがリポジトリのパスを持っているんだろう?

[trac-svn]Trac0.12とsvnの連携
を読んでいて気づいたのが
F:\Visual Studio 2008\SVNrep\hooks\post-commit.bat
の以下の記述

set REPOS=%1

そういや、この%1って何が入るんだ?

バッチの上記のsetの後に以下の記述を追加して
中身を見てみる。

すると
F:\Visual Studio 2008\SVNrepとなっている。
なるほど、ここね。

post-commit.batの起動パラメータとしてリポジトリのパスと
コミットした時のリビジョン番号が渡ってきているので
ここのリポジトリパスをスペースを含まないものに変更してやれば良いのね。

ということで

修正前:set REPOS=%1
修正後:set REPOS=F:\VISUAL~1/SVNrep

としてやったところうまくいった!

よし、これでコミットとチケットの連携がされるぜぃ!

<調べていて見つけた記事>
[Subversion][Trac]svnリポジトリ、Tracのパスが気に入らなくなったら

 


 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

このエントリーへのリンク

このエントリーのリンクを入れるHTML:

トラックバック

この記事へのトラックバックの一覧です: 初音ミク冒険記をTracLightningで管理してみる2:

コメント

このブログの新着コメントをRSSリーダに登録する為のxml




←名前とメールアドレスは必須です。
URLも記入すれば、URLのみが公開されます。
メールアドレスのみですと、メールアドレスが公開されてしまいますので、御注意ください。

↓コメント本文では、「a href」「b」「i」「br/」「p」「strong」「em」「ul」「ol」「li」「blockquote」「pre」のタグが使えます。絵文字をクリックすると、本文にタグを挿入できます。