有没有人对如何添加避免更改标签子目录的预提交挂钩有明确的说明?
我已经在互联网上搜索了很多。我找到了这个链接:SVN::Hooks::拒绝更改 https://metacpan.org/pod/SVN::Hooks::DenyChanges,但我似乎无法编译东西。
我没有足够的声誉来“评论”上面 Raim 的答案,但他的效果很好,除了一个例外,他的 grep 模式是错误的。
我只是使用以下内容作为我的预提交挂钩(我没有现有的挂钩,在这种情况下您需要合并):
#!/bin/sh
REPOS="$1"
TXN="$2"
SVNLOOK=/opt/local/bin/svnlook
# Committing to tags is not allowed
$SVNLOOK changed -t "$TXN" "$REPOS" | grep "^U\W.*\/tags\/" && /bin/echo "Cannot commit to tags!" 1>&2 && exit 1
# All checks passed, so allow the commit.
exit 0
Raim 的 grep 模式的唯一问题是,它仅匹配位于存储库“根”位置的“标签”。由于我的存储库中有几个项目,因此他编写的脚本允许在标签分支上提交。
另外,请务必按照指示 chmod +x ,否则您会认为它工作是因为提交失败了,但它失败了因为它无法执行预提交挂钩,而不是因为挂钩工作了。
这真的很棒,谢谢雷姆。比所有其他建议更好、更轻,因为它没有依赖性!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)