预提交中的SVN更改属性

预提交中的SVN更改属性,svn,properties,hook,Svn,Properties,Hook,我想做一个预提交钩子检查,如果当前提交是一个标记,如果是的话,检查任何svn:externals属性,如果没有,则将其更改为有修订。我有一个很好的主意,如何对它们是否是标记进行grep,但是获取和更改属性是一项挑战。您可以通过svnlook changed在预提交钩子中完成这项操作(而不是通过-t丢失事务信息) 这会打印出如下内容: A + p2/tags/FIRST-TAG/ (from p2/trunk/:r8) 这是一个标签 检查属性也可以 svnlook proplist t /p2/

我想做一个预提交钩子检查,如果当前提交是一个标记,如果是的话,检查任何svn:externals属性,如果没有,则将其更改为有修订。我有一个很好的主意,如何对它们是否是标记进行grep,但是获取和更改属性是一项挑战。

您可以通过svnlook changed在预提交钩子中完成这项操作(而不是通过-t丢失事务信息)

这会打印出如下内容:

A + p2/tags/FIRST-TAG/
(from p2/trunk/:r8)
这是一个标签

检查属性也可以

svnlook proplist t /p2/tags/FIRST-TAG
到目前为止还不错。现在可以检查svn:externals的内容

但是您不应该修改事务中的任何内容。永远不要这样做。
最好的方法是简单地中止操作(返回非零),并通过stderr输出对此进行解释。

可以将提交后钩子中的事务更改为修订。检查必要的修订属性并修改它们。如果您添加了一个新文件,您可以使用预提交钩子检查它的svn:eol样式属性吗?
svnlook proplist t /p2/tags/FIRST-TAG