0

我在我的服务器上完成了 Trac 和 SVN 设置。我已经使用 post-commit 钩子和 post-revprop-change 钩子集成了 SVN-Trac。当我执行提交时,我可以看到 trac 上的时间线得到更新,但相应的票证没有更新任何评论或更改状态。我曾尝试在 google 和 stackoverflow 上查看此类问题,但几乎所有这些问题在 linux/unix 环境中都有权限问题,这很可能不是我的情况。显然我在我的 Windows 环境中没有任何权限问题,因为我正在使用我的登录名运行 trac 和 svn。

请找到下面提到的设置详细信息:

服务器操作系统:Windows 2008 R2

- 使用 :WANdiscoSubversion_1.7.8-2.exe 安装的 Wandisco SVN 服务器

- Python 2.7.5(32 位)

- 追踪 1.0.1

我需要集成 SVN-Trac,以便 SVN 使用 traclink 提交更新 trac 票证状态和评论。

为了实现这一点,我在 SVN 中设置了提交提交挂钩,如 Trac 文档中所述: http: //trac.edgewall.org/wiki/TracRepositoryAdmin#ExplicitSynchttp://trac.edgewall.org/wiki/CommitTicketUpdater

我做了以下更改:

  1. 通过 trac Web 界面 -> 管理员 -> 插件启用提交票证更新程序。

  2. 根据上面提到的 trac 上 CommitTicketUpdater 的文档,我在 trac.ini 中的 [components] 部分 tracopt.ticket.commit_updater.committicketreferencemacro = enabled tracopt 的 trac_env/conf/trac.ini 下添加了以下几行。 ticket.commit_updater.committicketupdater = 启用

  3. 通过将以下内容添加到 trac.ini 文件的 [ticket] 部分来配置提交更新程序插件

    [票] commit_ticket_update_envelope = []

    commit_ticket_update_commands.close = 关闭关闭关闭修复修复修复

    commit_ticket_update_commands.refs = 地址参考参考见

    commit_ticket_update_check_perms = true

    commit_ticket_update_notify = true

我还创建了 post-commit.bat 和 post-revprop-change.bat并将其添加到我的 svn 存储库中的 hooks 文件夹中。请在下面找到脚本代码:

提交后.bat

@echo off
::
:: Trac-SVN post commit hook for explicit synchronisation
::

setlocal

set REPOS=%1
set REV=%2

C:\Python27\Scripts\trac-admin.exe C:\apps\new changeset added "%REPOS%" "%REV%"

post-revprop-change.bat

@echo off
::
:: Trac-SVN post revprop change hook
::

setlocal

set REPOS=%1
set REV=%2

C:\Python27\Scripts\trac-admin.exe C:\apps\new changeset modified "%REPOS%" "%REV%"

我也试过检查 trac.log (设置在调试级别),但那里没有任何相关的记录。

我还打印了 post commit 钩子中的值,它们似乎很好。

谁能帮我解决上述问题?

谢谢 !

问候

索米亚·达斯

4

1 回答 1

0

用于调用提交挂钩的用户应该获得必要的权限(可能是 TICKET_...)。

如果您不关心您也可以使用的权限检查[trac] commit_ticket_update_check_perms = false(正如 RjOllos 已经在上面评论过的那样)。

于 2013-09-04T06:47:03.377 回答