[英]How can I get the functionality of svn:externals in a read-only fashion?
svn:externals可以很好地將中央庫或IP吸入項目中,這樣它們就可以保存在一個可供所有人訪問的位置。
但是,如果我要求人們使用普通IP的外部標簽(因此它不會改變它們),就會打開他們無意中對標簽進行更改的可能性。
如何讓svn:externals只讀? 如果有一些額外的參數或某種方式使外部我們可以添加到每個人都遵循的程序,這是可以接受的。
使用svn存儲庫鈎子以避免進入特殊目錄,例如標簽
如果您使用ttb(主干,標記,分支)命名約定和只讀svn:外部訪問的代碼駐留在tags-directories中,則可以使用預提交掛鈎來避免提交到這些目錄。
以下是詳細信息: SVN預提交掛鈎,用於避免更改標記子目錄
使外部存儲庫對除了維護者之外的所有人都是只讀的。
實際上,TortoiseSVN檢測到你試圖通過提交鈎子提交標簽,並警告用戶這個,這基本上滿足了我對減速帶的要求。 所以我們已經很好了。
使外部存儲庫對除了維護者之外的所有人都是只讀的。
我完全同意J. John的回答。 創建預提交鈎子是過度的。 svn:externals(只是對外部存儲庫的引用,因此名稱),因此仍然在一個單獨的存儲庫中(您可以通過轉出簽出的外部並驗證'svn info | grep URL'來驗證)在外部回購中獲得必要的許可。 就像是:
[external_repo]
@maintainer = rw
@others = r
從repo(讓我們稱之為repoA)這里定義為“外部”(讓我們將外部倉庫稱為repoB),你不需要做任何事情。 當某人(除了屬於@maintainers的人)嘗試通過他/她從repoA簽出的代碼提交外部倉庫時,提交將被定向到外部repoB,因此,您設置的權限類似於上面的那個回購將啟動並阻止提交。
希望這有助於清除事情。
Ismael Casimpan :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.