2012-10-02 67 views
1

我們希望檢查版本比我們想凍結項目(阻止任何SVN更改)。有什麼辦法嗎?我不想創建分支。我只是想在幾個小時內凍結項目。有沒有辦法阻止SVN中的任何更改?

最好的方法是說一下: 如果你沒有登錄(allowLoginsUser數組),那麼「你還沒有提交!」並阻止 其他「允許提交」並提交

有什麼辦法嗎?

+0

你爲什麼不分支?這是這些默認的工作模式。 –

+0

因爲這不是里程碑。一個開發團隊想要在我們的主要圖書館中輸入大的變化。他準備了涵蓋95%左右代碼的極端大型單元測試。我們必須在測試中凍結這個項目。 –

回答

2

您應該查看svn lock命令。

你可以在SVN book's 'Locking' chapter找到更多關於它的信息。

通常情況下,你會做這樣的事情

svn lock -m "Freeze project for a few hours" PATH 
# do what you need to do 
svn unlock PATH 

其中PATH是你的倉庫。

+0

您只能鎖定文件,而不能鎖定文件夾。所以你需要爲每個文件寫asvn lock命令。 –

+0

你說得對,應該在每個文件的基礎上應用鎖定。你關於使用幾個'authz'文件的想法實際上是更簡單的(並且在[這裏](http://stackoverflow.com/a/2225859/1374267)中有描述)。 –

0

您可以暫時編輯./conf/passwd文件(如果您使用的是密碼用戶身份驗證)並在用戶名前註釋掉所有用戶「#」。保存文件並重新啓動SVN服務器。

然後取消註釋掉他們的名字。

1

您有幾種選擇:

  1. 供所有用戶使用的AuthZ的基於路徑的授權,禁止寫訪問
  2. 使用pre-commit鉤子被禁用特定的資源庫的所有寫訪問放置一個

    exit 1;

    進去

  3. 使用更先進的pre-commit鉤子,examinig已更改的文件,如果凍結項目發生

他們被困難和精力開始對最簡單的排名拒絕訪問。

+0

1.5。在基於路徑的授權中使用訪問控制組以允許_(allowLoginsUser數組)提交。 [鏈接](http://svnbook.red-bean.com/nightly/en/svn.serverconfig.pathbasedauthz.html) – grams

+0

@grams:你完全正確的感謝你添加它! –

相關問題