SVN需要使用预提交钩子进行锁定检查

时间:2014-09-25 09:29:18

标签: linux svn

我有预先提交的脚本,它来自互联网。大多数脚本在不同的情况下失败。我想有预提交脚本,只有在设置了needs-lock属性后才允许提交。这是Lock-Modify-Unlock模型。

我已在客户端配置中启用了自动道具,并添加了* = svn:needs-lock = *属性。

我发现的大多数脚本都在添加新文件时检查了needs-lock属性。但仅此检查不能解决问题。在下面提到的场景中,我们可以避免锁定机制。

1)开发人员可以在编辑期间取出需求锁定属性。 2)可以单独取出属性而无需修改文件。

在上述场景中,脚本失败。

欢迎所有想法。

1 个答案:

答案 0 :(得分:1)

下面的内容应该有效。

  

表示svnlook changed -t "$TXN" "$REPOS" |grep "^[AU]" | awk -F" " '{print $2}'

中的y      

DO   svnlook proplist -t" $ TXN" " $ REPOS" " $ Y" > /tmp/prop.txt

     

if(grep -iE" needs-lock" /tmp/prop.txt)

     

然后

    if echo $y | sed 's/^.*\///' | grep -i "\.";

    then

     echo OK

    else
     

echo"不允许锁定文件夹$ y" >和2;

     

退出1;

   fi
     

网络连接

     

完成

这将在提交之前检查属性是否应用于所有文件/文件夹。如果您需要从中排除文件夹,则需要再添加一个条件来检查其文件夹或文件是否相应。