3

Windows + VisualSVN 服务器 + Trac 0.12

我想要票证自动关闭,当提交文本有“关闭#2”(或其他命令,都一样)

4

2 回答 2

3

好吧,我的朋友你很幸运,因为我终于想出了如何做到这一点。我的配置和你一样,Windows + VisualSVN + Trac。这是我从网上的很多地方和我的经验收集和整理的。开始了。

  1. 安装 VisualSVN。

  2. 创建(导入...)您的存储库。只要确保它在那里并且与 VisualSVN 一起正常工作。我们将您的项目称为 TheProject。并说它位于PathToSVN这意味着如果项目位于 C:\SVN\TheProject 中。然后PathToSVN是 C:\SVN

  3. 如果您使用 Subversion 身份验证,请确保您至少有一个用户。

  4. 从http://www.visualsvn.com/files/VisualSVN-Server-2.5.4.28066-Trac-0.12.3.zip下载 VisualSVN Trac 插件。
    注意如果有更新版本,请检查http://www.visualsvn.com/server/trac/ ,但请返回并按照此处的说明进行操作。不是那里的人。

  5. 将其解压缩到 %VISUALSVN_SERVER% 文件夹(您的 VisualSVN 安装文件夹)

  6. 在某处为您创建一个文件夹 Trac。例如 C:\Trac 或 D:\Trac。我们将其称为PathToTrac\

  7. 允许对内置网络服务帐户(或用于运行 VisualSVN 服务器服务的其他帐户)的 PathToTrac\ 文件夹进行“完全控制”访问。

  8. 打开命令提示符并执行命令

    "%VISUALSVN_SERVER%trac\trac-admin.bat" PathToTrac\TheProject initenv

    使用默认设置。只需按 Enter 即可回答所有问题。

  9. 执行以下命令将TheProject Subversion 存储库添加到 Trac:

    "%VISUALSVN_SERVER%trac\trac-admin.bat" PathToTrac\TheProject存储库添加TheProject PathToSVN\Project svn

  10. 如果您还没有 python,请添加系统变量:PYTHONHOME=%VISUALSVN_SERVER%trac\python

    只要确保 PYTHONHOME 指向我们可以找到 python 的地方。并注意路径尽头的空格。Windows 不喜欢它。

  11. 如果您使用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。在课文中

  1. 重启 VisualSVN 服务器。记下服务器正在侦听的端口。

  2. 打开“http://localhost:port/trac/” 如果您可以看到您的存储库的 Trac,您就差不多完成了。否则回去检查你是否遗漏了什么。

  3. 转到您的 SVN 目录,然后转到您的项目。PathToSVN\TheProject。例如 C:\SVN\FirstProject。你会发现一个文件夹名称为hooks。在该文件夹中,您会找到一个文件名post-commit.cmd。如果它不存在,则创建它。

  4. 将此添加到 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%"
    
  5. 从http://trac.edgewall.org/attachment/wiki/TracMultipleProjects/ComprehensiveSolution/trac-post-commit-hook下载 trac-post-commit-hook 文件。只需转到页面底部,然后单击下载原件。将其保存在 PathToSVN\TheProject\hooks 目录中。它应该被命名为trac-post-commit-hook没有扩展名。

  6. 现在转到 PathToTrac\TheProject\conf 目录并打开文件trac.ini。搜索repository_dir。将路径添加到您的存储库作为它的值,例如

     repository_dir = PathToSVN\TheProject
    
  7. 你完成了!!!

  8. 现在您可以直接从您的提交中关闭或引用票证,例如修复 #1、关闭 #1 ... 阅读 trac-post-commit-hook 文件中的评论

于 2012-12-10T21:09:54.803 回答
3

Trac 的官方文档包括一个关于根据提交消息自动更新票证的部分。确保您遵循两组说明(一组用于设置CommitTicketUpdater插件,另一组用于添加挂钩脚本)。

您是在寻找一般建议,还是有具体问题?

于 2012-11-16T01:29:21.883 回答