【问题标题】:run exe after successful svn export from TortoiseSVN从 TortoiseSVN 成功导出 svn 后运行 exe
【发布时间】:2010-01-27 13:21:47
【问题描述】:

我想在从 TortoiseSvn 成功导出存储库后执行一个小的客户端脚本/exe/bat。

流程如下:

  1. 右键存储库
  2. 点击 TortoiseSVN 导出菜单项
  3. 导出成功完成
  4. TortoiseSVN 运行我的脚本。

我已经考虑过创建自定义客户端挂钩,但它们仅适用于 start/pre/post-commit 和 start/pre/post-update,而我需要导出后。

有什么想法吗?

【问题讨论】:

  • 这必须对用户透明。用户了解 TortoiseSVN。他们不了解 svn 本身。

标签: svn tortoisesvn


【解决方案1】:

我不认为这可以在 Tortoise 中完成。正如你已经说过的,有钩子,但不是用于导出的。

我会说这需要一个脚本或批处理文件。 SVN 有自己的命令行客户端,您可以使用它来进行导出;您可以使用 ERRORLEVEL 检查是否成功导出:

export.bat

@echo off
svn export xyz
IF ERRORLEVEL 1 GOTO fail
IF ERRORLEVEL 0 GOTO success

:fail
echo Fail!
GOTO end

:success
echo Success! Now calling EXE file...
call my_exe_file_here.exe
GOTO end

:end

未经测试,但应该可以工作。

【讨论】:

  • 我应该从 TortoiseSvn 的上下文菜单中点击哪里?
  • 这是一个完全独立于 Tortoise 的解决方案。如果需要从 Tortoise 开始,将无法正常工作。
  • 对不起,这不是我想要的。它必须从 TortoiseSVN 调用
  • 我明白了。好吧,那就帮不了你了,对不起。不过,我确信您可以将此批处理文件添加到注册表的上下文菜单中,就像 Tortoise 一样。它仍然不在 Tortoise 菜单中,但仍然在上下文菜单中。不过,这需要我不熟悉的注册表魔法。
【解决方案2】:

TortoiseSVN 是开源的

http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk 用户名:客人 密码:[空白]

这样您就可以将此功能添加到源代码、重新编译并将修改后的 TortoiseSVN 版本分发给您的用户。

【讨论】:

  • 是的,这是最后一根稻草 :-)
  • 嘿,有人不得不说:)
【解决方案3】:

其中一位 tortoiseSVN 开发人员在他们的邮件列表中回复了我的问题。

http://groups.google.com/group/tortoisesvn/browse_thread/thread/e371b656f8615cf6#

目前基本上无法通过 tortoiseSVN UI 以集成方式完成。

我的解决方案是在存储库中创建一个自身的小脚本。通过 tortoiseSVN 导出后,用户双击脚本(该脚本也已导出到他们选择的目录),它就会发挥作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2013-06-27
    相关资源
    最近更新 更多