2009-12-17 78 views
4

我遇到了顛覆的奇怪功能。Subversion(svn + tortoiseSvn)提交未鎖定的文件

我們正在利用最新的1.6 SVN服務器視覺SVN和烏龜SVN 1.6.6

我們定義屬性svn:需要鎖到一個文件,那麼如果您複製從不同位置的文件它表明,如果局部變化你嘗試提交SVN它允許你提交,即使你沒有獲得LOCK。

這對我們來說是一個很大的問題,請讓我們知道如何強制SVN不會允許提交未取得鎖。

謝謝。

回答

2

Subversion中的鎖定機制不會給你一個開箱即用的方法來防止首先沒有鎖定的提交。

你可能會強調可能,能夠處理與服務器掛鉤,但我不確定。也許你應該問一個新的問題,你在哪裏詢問如何創建一個Subversion服務器鉤子腳本,以防止人們在第一次沒有擁有文件鎖定時提交更改。

鎖定機制只是管理問題的文件一個額外的工具,如設計文件,其中內容被周圍很多移動(因此合併是一種痛苦),或二進制文件,如果你存儲這些。但是,鎖機制並不是爲了防止你沒有鎖而提供的,它只是一種方便,但可以很容易地避開。

+0

問題發佈: http://stackoverflow.com/questions/1925454/help-with-subversion-svn-hook-script 感謝。 – 2009-12-18 00:10:49

1

Subversion提供了鎖定功能,以方便用戶管理對不可合併文件的併發更改。總是有可能在Subversion中「竊取」鎖,因此提交者之間的通信可能仍然是必要的。通過關閉文件的只讀屬性,可以獲得與描述相同的效果。

如果你需要防止用戶濫用故意鎖定功能,那麼也許Subversion是不是適合你的工具。其他產品如Perforce或ClearCase對鎖定協議要求更嚴格。

0

該物業是svn:needs-locksvn-needs-lock。這可能是你的問題。

顛覆不允許你強制鎖定任何人。鎖可以使用`--force``選項覆蓋。

+1

對不起錯字:屬性的svn:需要鎖 – 2009-12-17 22:10:57

0

設置的svn:needs-lock屬性沒有什麼特別之處:它告訴Subversion簽出或更新操作時設置「只讀」標誌上的那些文件。

因此理想情況下,與SVN的所有文件:needs-lock屬性設定具有隻讀標誌設置。 當你得到svn鎖時,Subversion刪除只讀標誌,以便你可以編輯文件。

因此,您的情況發生了什麼: 您正在替換一個文件,該文件的readonly標誌設置爲另一個沒有設置此標誌的文件。而Windows不使用替換文件的只讀標誌。