我的树干有结构:
\trunk
----\data
----\src
----\tool
with \tool
在另一个地方的外部,而不是在我的trunk
. 所以我不希望用户\tool
在 SVN 中提交。他们只能承诺\data
or \src
。
谁能帮我创建一个钩子脚本来防止用户提交到外部(在这种情况下是\tool
文件夹)?
我的树干有结构:
\trunk
----\data
----\src
----\tool
with \tool
在另一个地方的外部,而不是在我的trunk
. 所以我不希望用户\tool
在 SVN 中提交。他们只能承诺\data
or \src
。
谁能帮我创建一个钩子脚本来防止用户提交到外部(在这种情况下是\tool
文件夹)?
我对外部不是很熟悉,但如果你确实想创建一个预提交钩子脚本,它的代码很简单,但调试起来很棘手。
您的预提交挂钩接受两个参数,$ARGV[0] = 存储库路径,$ARGV[1] = 正在提交的事务。
你的钩子脚本会使用 svnlook,比如
svnlook dirs-changed -r $ARGV[0] -t $ARGV[1]
如果 svnlook 返回的工具(或以工具开头的任何东西)已更改,则返回(否定?)退出状态。
您打印到 STDERR 的任何内容都会作为错误消息显示给客户端。
您可以将此脚本放在您的存储库中的钩子下,将其命名为“pre-commit”,使其可执行
请务必检查svnlook 文档,因为我要在这里记忆