【问题标题】:Does TortoiseSVN commit has an option of opening exe?TortoiseSVN 提交是否有打开 exe 的选项?
【发布时间】:2011-01-16 15:46:35
【问题描述】:

我已经为存储库中的文件设置了 BugId 属性。这意味着在提交窗口上,我有一个字段,开发人员在该字段中输入错误的问题编号,并显示在提交的日志消息中。

我想知道是否有可能一旦我单击提交按钮,在提交本身之前,将执行一个 exe 文件。

我不是指预提交挂钩,因为它在我单击提交按钮后运行。

谢谢。

【问题讨论】:

    标签: svn tortoisesvn commit


    【解决方案1】:

    如果您希望此文件在您的客户端上运行,请查看 TortoiseSVN 帮助 4.30.8。 Client Side Hook Scripts.

    TortoiseSVN 有一个 Start-commit 钩子,它在提交对话框显示之前运行。

    我刚试过这个,效果很好。

    alt text http://img710.imageshack.us/img710/760/hook.png

    文件 test.bat 仅包含 exit 0 命令,并且在显示提交对话框之前我可以清楚地看到控制台窗口的打开和关闭。

    【讨论】:

    • 我正在寻找一种在用户按下提交按钮之前执行我的 exe/bat 文件的方法。我熟悉所有的 SVN 钩子。
    • 我尝试了 start-commit 钩子。它在按下提交按钮后执行。
    • 谢谢,我又试了一次,我明白了。它工作正常。
    • 这会进入版本控制吗?因为如果我能把它变成版本控制会很酷(我正在制作一个脚本来将颠覆修订放在 C# 项目的程序集信息中)。
    • 如何传递提交号/提交ID?我想使用 putty 自动同步生产服务器中的数据
    【解决方案2】:

    在 TortoiseSVN 1.5 及更高版本中,您可以定义客户端挂钩脚本。在优秀的 TortoiseSVN 帮助系统中了解它们。特别是,为了您的目的,请查看 Start-CommitPre-Commit 挂钩。

    【讨论】:

    • 虽然 Start-Commit 应该在提交对话框打开之前执行,但它没有。在我按下提交按钮后执行钩子。
    • @Oded:我不确定您所说的“提交按钮”是什么意思。据我所知,TortoiseSVN 有一个“提交”菜单项,如果触发该菜单项,则会弹出“提交”对话框,其中有一个“确定”按钮。 Start-Commit 挂钩在对话框打开之前运行 - 请参阅 stackoverflow.com/questions/59007/… 了解示例用法。
    • 我输入了“确定”按钮。我创建了一个批处理文件,它只创建一个简单的文本文件并放入 start-commit 挂钩。在我按下 OK 按钮之前,它仍然不会启动批处理文件。有什么想法吗?
    • 我不确定,除了仔细查看关于 API 的其他问题的公认答案:stackoverflow.com/questions/59007/…
    【解决方案3】:

    您应该考虑实施IBugtraqProvider。该界面专为此目的而设计。

    您可能想要使用CheckCommit() 方法。

    【讨论】:

      猜你喜欢
      • 2011-07-07
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      • 2011-04-11
      • 1970-01-01
      相关资源
      最近更新 更多