我已经在我的ubuntu上设置了一个svn服务器。现在我想使用tortoise svn从我的Windows机器上使用它,但我想限制用户应该输入添加、 checkout 、更新等的注释。我将hooks文件夹中的pre-commit.tmpl文件修改为(从互联网获取)
REPOS="/home/svn/"
TXN="checkout"
SVNLOOK=/user/bin/svnlook
SVNLOOKOK=1
$SVNLOOK log -t "$TXN" "$REPOS" | \
grep "[a-zA-Z0-9]" > /dev/null || SVNLOOKOK=0
if [ $SVNLOOKOK = 0 ]; then
echo Empty log messages are not allowed. Please provide a proper log message. 1>&2
exit 1
fi
但这似乎不起作用?即使该文件中的默认脚本也不起作用。我认为 TXN 或 REPOS 有问题?
最佳答案
您的脚本存在一些问题。
- 您可能需要在第一行之前使用
#!/bin/sh
- REPOS 和 TXN 应通过命令行上传递给脚本的参数进行设置,分别为
$1
和$2
。 /user/bin/svnlook
可能应该是/usr/bin/svnlook
>
应该是>
(您的副本显然复制了 HTML 编码的代码)1>&2
应为1>&2
- 您说您修改了
pre-commit.tmpl
,但您是否将其重命名为pre-commit
? 预提交
文件是否可执行,即chmod a+x预提交
?
出于所有实际目的,这是 How can I prevent Subversion commits without comments? 的副本。 ,它有几个版本。
关于linux - 当svn服务器在linux机器上时,对tortoise svn的空白注释约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21274440/