有一些新的顧問,他們應該在部分軟件上工作,這些軟件對整個軟件沒有功能上的關鍵性。該軟件不是以模塊化方式組織的,s.t.所有這些包含非關鍵功能的源文件都不會被隔離在目錄中。限制源代碼訪問目錄中的少數文件,對新開發人員 - SVN
有沒有辦法讓諮詢人員不能分叉/分支項目,也只能在文件(非關鍵功能文件)上工作?
在這種情況下版本控制軟件是SVN。
有一些新的顧問,他們應該在部分軟件上工作,這些軟件對整個軟件沒有功能上的關鍵性。該軟件不是以模塊化方式組織的,s.t.所有這些包含非關鍵功能的源文件都不會被隔離在目錄中。限制源代碼訪問目錄中的少數文件,對新開發人員 - SVN
有沒有辦法讓諮詢人員不能分叉/分支項目,也只能在文件(非關鍵功能文件)上工作?
在這種情況下版本控制軟件是SVN。
如果您在Windows上使用VisualSVN Server,則可以輕鬆設置目錄上的訪問權限(例如只讀權限或不可訪問權限)。你不能在SVN中的每個文件基礎上設置任何東西(它被設計爲在目錄上操作)。其他SVN系統可以通過編輯authz文件並編輯每個需要保護的目錄的條目來完成相同的操作。
對單個文件設置訪問控制將很快變成一場噩夢,因此將要保護的文件移動到幾個目錄中,並將控件放在它們上面。
你可以通過執行以下操作做到這一點:
確保你給你的顧問只讀到主幹訪問和讀寫到新目錄的訪問
第三步是有點棘手,所以我我會進一步解釋。說你原來的倉庫有類似這樣的
/trunk
/lib
- Non Critical File 1.txt
- Non Critical File 2.txt
- Other files.h
的文件結構,你已經完成了第3步你的資料庫後會是這個樣子:
/trunk
/lib
- SVN: External to Non Critical File 1.txt
- SVN: External to Non Critical File 2.txt
- Other files.h
/NewDirectory
- Non Critical File 1.txt
- Non Critical File 2.txt
這樣做對每個非關鍵文件。
這將使你的顧問,在新創建的目錄
要設置SVN在現有的倉庫只能查看文件,但只更新文件:外部材料看this stack overflow post
基於文件的外部**必須在相同的回購**中,因爲鏈接點 - 不起作用 –
@LazyBadger好的一點,我會更新答案,指出將非關鍵文件移動到同一個位置知識庫 – GrandPaPete
謝謝回答。在目錄上只讀權限,禁止分支?如果不是,那麼一些開發人員可能只是分支並完全訪問源代碼樹嗎? – icarus74
分支是一個副本,只需要讀取權限。這些權限不會跟隨副本,所以是的。 – alroc
@ icarus74 - 不,因爲它們已經具有對源樹的完整(只讀)訪問權限。如果你想防止這個,你必須讓一些文件不可讀。想想這樣:他們可以製作源代碼樹的zip文件嗎?那麼他們只是使用不同的方法「分支」它。如果你給某人讀取權限,他們可以讀取所有文件,他們不能做的就是提交到你的源代碼樹,以便你知道它的安全。如果他們支持並承諾這一點,對他們有好處 - 你的箱子仍然沒有動過,如果你喜歡,你可以忽略他們的變化。 – gbjbaanb