【问题标题】:Unable to generate output from svn pre-commit hook无法从 svn 预提交挂钩生成输出
【发布时间】:2013-05-25 16:36:51
【问题描述】:

我有一个托管 svn(版本 1.6.11 (r934486))存储库的 centos6 linux 服务器,可通过 Apache 通过 DAV 访问。我正在使用 windows tortoise-svn 客户端 1.7.12 来访问 repo。

我有一个非常简单的测试预提交钩子,它总是会失败。

echo "this is a test"
exit 1

尝试提交失败

Sending content: D:\code\foo\test.c  
Error: Commit failed (details follow):  
Error: Commit blocked by pre-commit hook (exit code 1) with no output.  
Completed!:   

我期待在我的客户端上看到“这是一个测试”,但我得到了 pre-commit 钩子退出而没有输出。 hooks/pre-commit 是可执行的,并且在 linux 服务器上手动运行时会回显预期的输出。

关于我缺少什么的任何指针?

【问题讨论】:

    标签: svn pre-commit-hook


    【解决方案1】:

    只有打印到 stderr 的输出才会中继到客户端。因此,以下更改应该使您的测试挂钩工作:

    echo "this is a test" >&2
    exit 1
    

    作为参考,这是来自Subversion book的相关引用:

    "如果pre-commit钩子程序返回一个非零的退出值, 提交被中止,提交事务被删除,以及任何事情 打印到 stderr 被编组回客户端。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多