这似乎是非常基本的问题,但我被淘汰了。如何测试为挂钩目的编写的那些脚本。

众所周知,脚本正在后台运行,只有SVN控制台向我们抛弃了脚本。我尝试了断点,但是我无法为脚本提供输入。

有人对此有任何想法吗?我正在Windows上编写SVN挂钩脚本,因此许多已经编写的挂钩脚本要么不运行或不给出所需的输出,例如检查Apache的Mime-Type和EOL脚本。

有帮助吗?

解决方案

我可以给你一些建议:

  • 您需要打印到 STDERR. 。这是您的脚本向您报告错误的唯一方法。您可以将其用于实际测试。
  • 我写了我的预设脚本,这两个 -t 或一个 -r 命令行参数。当执行为预加入挂钩时,我可以使用 -t 参数以传递交易号。从命令行运行时,我可以使用 -r 参数并给它一个修订号以进行反对。
  • 我也写了 debug 当我设置一个时,允许我打印信息的功能 -debug 命令行参数。我可以打开和关闭。
  • 如果您实际上正在测试钩子,请使用存储库的副本,并确保 pre-commit Shell脚本将通过使用出口代码结束 2. 。您将永远不会提交交易,但是您会在预先指示的脚本中收到消息(也就是说,如果您将所有内容都打印到STDERR)。

您可以查看我正在开发的挂钩脚本以获取一些想法。我用 Data::Dumper PERL模块可以帮助我在脚本中打印数据结构。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top