Windows + VisualSVN 服务器 + Trac 0.12
我想要票证自动关闭,当提交文本有“关闭#2”(或其他命令,都一样)
Windows + VisualSVN 服务器 + Trac 0.12
我想要票证自动关闭,当提交文本有“关闭#2”(或其他命令,都一样)
好吧,我的朋友你很幸运,因为我终于想出了如何做到这一点。我的配置和你一样,Windows + VisualSVN + Trac。这是我从网上的很多地方和我的经验收集和整理的。开始了。
安装 VisualSVN。
创建(导入...)您的存储库。只要确保它在那里并且与 VisualSVN 一起正常工作。我们将您的项目称为 TheProject。并说它位于PathToSVN。 这意味着如果项目位于 C:\SVN\TheProject 中。然后PathToSVN是 C:\SVN
如果您使用 Subversion 身份验证,请确保您至少有一个用户。
从http://www.visualsvn.com/files/VisualSVN-Server-2.5.4.28066-Trac-0.12.3.zip下载 VisualSVN Trac 插件。
注意如果有更新版本,请检查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 即可回答所有问题。
执行以下命令将TheProject Subversion 存储库添加到 Trac:
"%VISUALSVN_SERVER%trac\trac-admin.bat" PathToTrac\TheProject存储库添加TheProject PathToSVN\Project svn
如果您还没有 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。你会发现一个文件夹名称为hooks。在该文件夹中,您会找到一个文件名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%"
从http://trac.edgewall.org/attachment/wiki/TracMultipleProjects/ComprehensiveSolution/trac-post-commit-hook下载 trac-post-commit-hook 文件。只需转到页面底部,然后单击下载原件。将其保存在 PathToSVN\TheProject\hooks 目录中。它应该被命名为trac-post-commit-hook没有扩展名。
现在转到 PathToTrac\TheProject\conf 目录并打开文件trac.ini。搜索repository_dir。将路径添加到您的存储库作为它的值,例如
repository_dir = PathToSVN\TheProject
你完成了!!!
现在您可以直接从您的提交中关闭或引用票证,例如修复 #1、关闭 #1 ... 阅读 trac-post-commit-hook 文件中的评论
Trac 的官方文档包括一个关于根据提交消息自动更新票证的部分。确保您遵循两组说明(一组用于设置CommitTicketUpdater插件,另一组用于添加挂钩脚本)。
您是在寻找一般建议,还是有具体问题?