Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当svn服务器在linux机器上时,乌龟svn上的空白注释约束?_Linux_Svn_Comments_Tortoisesvn_Hook - Fatal编程技术网

当svn服务器在linux机器上时,乌龟svn上的空白注释约束?

当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/

我已经在我的ubuntu上安装了一个svn服务器。现在我想在我的windows机器上使用乌龟svn,但我想限制用户输入添加、签出、更新等评论。我将hooks文件夹中的pre-commit.tmpl文件修改为(从internet获得)


但这似乎不起作用?即使是该文件中的默认脚本也不起作用。我认为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