【问题标题】:Linux SVN post-commit doesn't work?Linux SVN 后提交不起作用?
【发布时间】:2015-09-09 04:18:40
【问题描述】:

我阅读并尝试了很多来自 stackoverflow 和其他页面的博客和帖子条目,但没有解决方案。

SVN 版本:1.6.11 Linux 版本:Linux 2.6.32-358.23.2.el6.x86_64 x86_64

我创建了一个脚本,应该在 svn 提交后执行。

我已将文件 post-commit.tmpl 重命名为 post-commit。 我使用绝对路径并且所有文件(脚本、提交后、日志..)都处于模式777。 在脚本和post-commit 中设置了PATH。 当我在项目中提交某些内容时,我的 debug.log 正在工作。

echo "START">>/svn/test/debug.log
sudo echo /svn/test/hookScripts/generateDocumentation.sh "$1" "$2">>./svn/test/error.log
echo "END">>/svn/test/debug.log

debug.log 文件中有STARTEND 条目,但不会执行脚本。

我从this link 尝试了一些,但它不起作用。

【问题讨论】:

  • 我不确定你想在那里实现什么。您的意思是在文件./svn/test/error.log 中附加一行/svn/test/hookScripts/generateDocumentation.sh "$1" "$2"(您只能以root 身份打开)?还是您的意思是以 root 权限运行/svn/test/hookScripts/generateDocumentation.sh "$1" "$2",将该命令的输出附加到./svn/test/error.log
  • 另外,请注意不要为./svn/test/error.log 使用绝对路径。
  • 完全正确。我想运行/svn/test/hookScripts/generateDocumentation.sh 并将命令的输出附加到./svn/test/error.log。所有文件的所有者都是root用户,所有文件都持有模式777
  • 那么你可能应该删除sudo echo /svn/test/hookScripts/generateDocumentation.sh中的echo
  • @ex-bart 早安:D 问题是:我必须在文件中运行脚本,所以我必须用$(.......) 调用它现在它可以工作了! echo $(./svn/doctest/hookScripts/generateDocumentation.sh "$1" "$2")>>/svn/doctest/error.log

标签: linux shell svn svn-hooks


【解决方案1】:

问题是:我尝试在脚本中运行/svn/test/hookScripts/generateDocumentation.sh。要执行此操作,我必须将其写入 $(...)

【讨论】:

    猜你喜欢
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 2019-02-16
    相关资源
    最近更新 更多