【发布时间】: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 文件中有START 和END 条目,但不会执行脚本。
我从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