Windows + VisualSVN Server + Trac 0.12
コミットテキストに「close#2」(または他のコマンド、すべて同じ)がある場合、チケットが自動的に閉じられるようにしたい
Windows + VisualSVN Server + Trac 0.12
コミットテキストに「close#2」(または他のコマンド、すべて同じ)がある場合、チケットが自動的に閉じられるようにしたい
Tracの公式ドキュメントには、コミットメッセージに基づいてチケットを自動的に更新するセクションが含まれています。必ず両方の手順に従ってください(1つはCommitTicketUpdaterプラグインを設定し、もう1つはフックスクリプトを追加します)。
一般的なアドバイスをお探しですか、それとも具体的な質問がありますか?
さて、私はついにこれを行う方法を理解したので、あなたが運が良かった私の友人。私はあなたと同じ構成、Windows + VisualSVN+Tracを持っています。これは私がネット上のたくさんの場所と私の経験から集めてまとめたものです。どうぞ。
VisualSVNをインストールします。
リポジトリを作成(インポート...)します。そこにあり、VisualSVNで正しく機能していることを確認してください。あなたのプロジェクトをTheProjectと呼びます。そして、それがPathToSVNにあると言います。 これは、プロジェクトがC:\ SVN\TheProjectにあるかどうかを意味します。その場合、 PathToSVNはC:\SVNです。
Subversion認証を使用する場合は、少なくとも1人のユーザーがいることを確認してください。
VisualSVNTracアドオンをhttp://www.visualsvn.com/files/VisualSVN-Server-2.5.4.28066-Trac-0.12.3.zipからダウンロードします。
注意:新しいバージョンがある場合はhttp://www.visualsvn.com/server/trac/を確認してください。ただし、戻ってきて、こちらの手順に従ってください。そこにあるものではありません。
%VISUALSVN_SERVER%フォルダー(VisualSVNインストールフォルダー)に解凍します
Tracのどこかにフォルダを作成します。例:C:\ TracまたはD:\Trac。これをPathToTracと呼びます\
組み込みのネットワークサービスアカウント(またはVisualSVNサーバーのサービスを実行するために使用される他のアカウント)のPathToTrac\フォルダーへの「フルコントロール」アクセスを許可します。
コマンドプロンプトを開き、コマンドを実行します
"%VISUALSVN_SERVER%trac \ trac-admin.bat" PathToTrac \ TheProject initenv
デフォルト設定を使用します。すべての質問に対してEnterキーを押すだけです。
次のコマンドを実行して、TheProjectSubversionリポジトリをTracに追加します。
"%VISUALSVN_SERVER%trac \ trac-admin.bat" PathToTrac\TheProjectリポジトリはTheProjectPathToSVN\Projectsvnを追加します
まだPythonを使用していない場合は、システム変数を追加します:PYTHONHOME =%VISUALSVN_SERVER%trac \ python
PYTHONHOMEがPythonを見つけることができる場所を指していることを確認してください。そして、パスの終わりにあるスペースに注意してください。Windowsはそれが好きではありません。
Subversion認証を使用する場合は、ファイル%VISUALSVN_SERVER%conf\httpd-custom.confに次のテキストを追加します。
LoadModule python_module "trac/python/mod_python_so.pyd"
LoadModule authz_user_module bin/mod_authz_user.so
<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir PathToTrac
PythonOption TracUriRoot /trac
AuthName "Trac"
AuthType Basic
AuthBasicProvider file
AuthUserFile "PathToSVN/htpasswd"
Require valid-user
</Location>
または、 Windows認証を使用している場合は、このテキスト:
LoadModule python_module "trac/python/mod_python_so.pyd"
LoadModule authz_user_module bin/mod_authz_user.so
<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir PathToTrac
PythonOption TracUriRoot /trac
AuthName "Trac"
AuthType VisualSVN
# Set the option's value to on if Windows Basic Authentication
# is enabled, otherwise set it to off.
AuthnVisualSVNBasic on
# Set the option's value to on if Windows Integrated Authentication
# (available in the Enterprise Edition) is enabled, otherwise set it to off.
AuthnVisualSVNIntegrated on
require valid-user
</Location>
PathToSVNとPathToTracを適切なパスに置き換えてください。テキストで
VisualSVNサーバーを再起動します。サーバーがリッスンしているポートを書き留めます。
「http:// localhost:port / trac /」を開きます。リポジトリのTracが表示されれば、ほぼ完了です。それ以外の場合は、戻って何かを見逃していないかどうかを確認してください。
SVNディレクトリに移動してから、プロジェクトに移動します。PathToSVN\TheProject。例:C:\ SVN\FirstProject。そして、あなたはフォルダ名フックを見つけるでしょう。そして、そのフォルダーには、post-commit.cmdというファイル名があります。そこにない場合は作成します。
これをpost-commit.cmdに追加し(テキストエディターで開くだけ)、保存します。
@set PATH=%PYTHONHOME%;%PATH%
@set REPOS="%1"
@set REV="%2"
@set TRAC_ENV="PathToTrac\TheProject"
@for /F %%A in ('svnlook author -r "%REV%" %1') do set AUTHOR=%%A
@for /F "delims==" %%B in ('svnlook log -r "%REV%" %1') do set LOG=%%B
@call "%VISUALSVN_SERVER%trac\python\python.exe" "PathToSVN\TheProject\hooks\trac-post-commit-hook" -p "%TRAC_ENV%" -r "%REV%" -u "%AUTHOR%" -m "%LOG%"
trac-post-commit-hookファイルをhttp://trac.edgewall.org/attachment/wiki/TracMultipleProjects/ComprehensiveSolution/trac-post-commit-hookからダウンロードします。ページの下部に移動して、[オリジナルのダウンロード]をクリックするだけです。PathToSVN \ TheProject\hooksディレクトリに保存します。trac-post-commit-hooknoextensionという名前にする必要があります。
次に、PathToTrac \ TheProject \ confディレクトリに移動し、ファイルtrac.iniを開きます。repository_dirを検索します。値としてリポジトリにパスを追加します。例:
repository_dir = PathToSVN\TheProject
あなたは完了です!!!
これで、コミットから直接チケットを閉じたり参照したりできます。たとえば、#1を修正し、#1を閉じます...trac-post-commit-hookファイルのコメントを読みます