2010-04-29 118 views
0

我想要預先提交掛鉤檢查,如果當前提交是標記,並且如果是,請檢查是否存在任何svn:externals屬性,並將它們更改爲具有修訂(如果它們沒有)。我有一個很好的想法,如果他們是否是標籤,但獲取和改變屬性證明具有挑戰性。預先提交的SVN更改屬性

回答

0

你可以這樣做一個pre-commit鉤子通過svnlook的變化(沒有遺漏通過-t交易信息)

svnlook changed t --copy-info 

此打印出這樣的事:

A + p2/tags/FIRST-TAG/ 
(from p2/trunk/:r8) 

所以這是一個標籤...

檢查屬性是好的以及...

svnlook proplist t /p2/tags/FIRST-TAG 

到目前爲止這麼好。你現在可以檢查一個svn:externals的內容。

但是,您絕對不應該修改事務中的任何內容。永遠不要這樣做。 最好的辦法是簡單地放棄操作(回饋非零),並通過stderr輸出給出解釋。

+0

可以將post-commit hook中的事務更改爲修訂。檢查必要的修訂屬性並修改它們。 – 2010-11-22 11:03:48

+0

如果你添加一個* new *文件,你可以使用pre-commit hook來檢查svn:eol-style屬性嗎? – 2013-07-11 05:51:52