初音ミク冒険記をTracLightningで管理してみる2
前回の記事を
「初音ミク冒険記をTracLightningで管理してみる1」とした理由は
最初の設定では1つ問題があったためだ。
その問題とは、TortoiseSVNでソースをコミットした時に
というように自動的にチケットに更新履歴が増えるはずなのに
チケットに反映されないのだ。
<参考>
上記の画像で、Inの後ろは、SVNのコミット時のリビジョン番号
refs #1以降は、TortoiseSVNでコミット時のコメントで
refs #1というのはその時のコミットをチケット1番と関連付けるよ
という意味。
1が取り消し線になっているのは、既にチケットがクローズされているため
SVNのリポジトリフォルダは以下のようになっている
(TracLightningを導入前から使っていたリポジトリ)
リポジトリの関連付け
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)】
このエントリーへのリンク
トラックバック
この記事へのトラックバックの一覧です: 初音ミク冒険記をTracLightningで管理してみる2:
コメント
このブログの新着コメントをRSSリーダに登録する為のxml