当svn服务器在linux机器上时,乌龟svn上的空白注释约束?
我已经在我的ubuntu上安装了一个svn服务器。现在我想在我的windows机器上使用乌龟svn,但我想限制用户输入添加、签出、更新等评论。我将hooks文件夹中的pre-commit.tmpl文件修改为(从internet获得)当svn服务器在linux机器上时,乌龟svn上的空白注释约束?,linux,svn,comments,tortoisesvn,hook,Linux,Svn,Comments,Tortoisesvn,Hook,我已经在我的ubuntu上安装了一个svn服务器。现在我想在我的windows机器上使用乌龟svn,但我想限制用户输入添加、签出、更新等评论。我将hooks文件夹中的pre-commit.tmpl文件修改为(从internet获得) 但这似乎不起作用?即使是该文件中的默认脚本也不起作用。我认为TXN或REPOS的问题一定是预提交挂钩 仅命名为“预提交” 从所用操作系统的角度来看是可执行的(X位和掩码以及正确的bash | sh脚本格式) 您的脚本存在许多问题 您可能需要#/第一行前的bin/
但这似乎不起作用?即使是该文件中的默认脚本也不起作用。我认为TXN或REPOS的问题一定是预提交挂钩
- 仅命名为“预提交”
- 从所用操作系统的角度来看是可执行的(X位和掩码以及正确的bash | sh脚本格式)
- 您可能需要
#/第一行前的bin/sh
- REPOS和TXN应该从传递到命令行脚本的args中设置,分别是
和$1
$2
可能应该是/user/bin/svnlook
/usr/bin/svnlook
应该是
(您的副本显然复制了HTML编码的代码)
应该是1&;2
1>&2
- 您说您修改了
,但您是否将其重命名为仅pre-commit.tmpl
pre-commit
文件是否可执行,即pre-commit
chmod a+x pre-commit
出于所有实际目的,这是的一个副本,它有多个版本。可能是我的副本#/bin/sh。我似乎对TXN回购和svnlook的价值有问题。对于TXN,我是否应该指定add、update、delete?如果我想对这些事件运行预提交?TXN应该像这样设置为第一个参数
TXN=“$1”
,REPOS应该像这样设置为第二个参数REPOS=“$2”
。$1
和$2
是文本,不供您填写,您需要的值由Subversion传递给脚本。嘿,正如我提到的,我正在从windows上的tortoise svn访问存储库,但是svn服务器在linux机器上。那么我如何传递参数呢?ps:非常感谢您的帮助!#/bin/sh TXN=$1 REPOS=$2 SVNLOOK=“/usr/bin/”$SVNLOOK log-t“$TXN”“$REPOS”|\grep“[a-zA-Z0-9]”>/dev/null | | |退出1退出0现在是修改后的脚本,您能看到问题的原因吗?SVNLOOK=“/usr/bin/”或SVNLOOK=“/usr/bin/SVNLOOK”?SVNLOOK应该是系统上存在nlook可执行文件的路径(如果您不确定,那么哪个svnlook
应该能够帮助您,但要意识到钩子运行时没有设置路径
环境变量,因此您必须提供完整路径)。您可能需要引用$1
和$2
所以TXN=“$1”
和REPOS=“$2”
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