我有预先提交的脚本,它来自互联网。大多数脚本在不同的情况下失败。我想有预提交脚本,只有在设置了needs-lock属性后才允许提交。这是Lock-Modify-Unlock模型。
我已在客户端配置中启用了自动道具,并添加了* = svn:needs-lock = *属性。
我发现的大多数脚本都在添加新文件时检查了needs-lock属性。但仅此检查不能解决问题。在下面提到的场景中,我们可以避免锁定机制。
1)开发人员可以在编辑期间取出需求锁定属性。 2)可以单独取出属性而无需修改文件。
在上述场景中,脚本失败。
欢迎所有想法。
答案 0 :(得分:1)
下面的内容应该有效。
表示
中的ysvnlook changed -t "$TXN" "$REPOS" |grep "^[AU]" | awk -F" " '{print $2}'
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
网络连接
完成
这将在提交之前检查属性是否应用于所有文件/文件夹。如果您需要从中排除文件夹,则需要再添加一个条件来检查其文件夹或文件是否相应。