2009-02-26 98 views
2

我有許多不同的項目,大約5個,以及大約15個不同的開發人員,其中一些項目在顛覆,有些則不是。所有的開發人員都在使用TortoiseSVN開發基於Windows的機器,並且這些項目的代碼是經典asp和asp.net的混合體。什麼是最好的,就像在大多數響應,有用和易於管理的情況下一樣,讓所有項目都受到顛覆,併爲所有開發人員(包括讀取和寫入)驗證訪問權限?顛覆稱重設置因子

需要考慮的一些事情是通過svnserve或apache提供,這意味着有速度問題,易於管理訪問/用戶密碼以及需要打開額外的防火牆端口(如果svnserve)

另外要考慮在一個存儲庫中有多個項目而不是每個存儲庫有一個項目的好處/缺點。版本差異不是一個問題,但是如果多個項目在一個存儲庫中,獲取日誌的時間過長可能會是這樣,但是,這是否被更簡單的用戶管理所抵消?

回答

4

•我會建議爲您的所有項目使用一個存儲庫。它使得爲開發者設置訪問變得更加容易。另外你只需要備份一個存儲庫。不僅如此,它還使您能夠輕鬆複製項目之間的文件(並保留這些文件的歷史記錄)。這可能不會經常發生,但它確實很好。創建新項目就像'svn mkdir'一樣簡單。

而且,通過使用單個存儲庫並不會真的損失太多。不過,您仍然可以爲每個項目配置訪問權限。

你的svn目錄結構可能如下所示:

projects/ 
    proj1/ 
     trunk/ 
     branches/ 
     tags/ 
    proj2/ 
     trunk/ 
     branches/ 
     tags/ 
    ... 

•有多大你的項目?通過HTTPS使用svn效果很好,尤其是在網絡連接速度很快的情況下。 HTTPS也是一個相當普遍的訪問系統。除非您經常查看數百或數千個文件(或者除非您試圖對數千個修訂版的文件進行指責),否則速度差異可能不值得您這樣做。在我們公司,我們使用svnserve並通過kerberos門票進行身份驗證,但是這很難安裝。

0

我能想到的只有兩種安全方式:通過SSH隧道使用svn,或者使用svn通過Web服務器通過啓用了SSL的HTTP進行推送/推送。

我會將每個項目保存在自己的存儲庫中,對每個項目使用標準的trunk/branches/tags格式作爲存儲庫佈局。這是一個更清晰的佈局,因爲每個東西都有自己的容器,並且如果其中一個Subversion數據庫被損壞或破壞,它不會影響所有項目的所有工作。

1

如果你們都比較快,通過Apache 2通過SSL運行SVN是一個不錯的選擇。沒有防火牆麻煩和用戶認證可以通過幾種方法完成。

我在另一個大陸上有一個託管的SVN帳戶,因爲SSL沒有那麼快但可以接受,因爲它是我們正在討論的源代碼,沒有太多的數據傳輸正在進行。如果你有更近的服務器,我相信性能會相當好。

多個存儲庫:我會說配置問題比可能的性能問題更糟糕。通過只保留一個存儲庫,可以最大限度地減少配置

3

我會建議

  1. 阿帕奇,不svnserve--它的速度不夠快,防火牆 - 和代理友好,用戶管理是同樣的工作無論哪種方式。我還發現能夠通過瀏覽器瀏覽我的存儲庫非常有用。

  2. 只有一個存儲庫,每個項目的文件夾包含trunk/branches/tags。這比我想象的要靈活得多,在很多情況下,你不需要trunk/branches/tags的子目錄。管理單個存儲庫更容易,而且您擁有版本控制功能,因此您無需擔心用戶搞亂了其他項目或其他任何內容。

0

多個項目VS單人項目:

如果代碼是常見的文件會繞着,使用一個存儲庫。如果代碼是孤立的,請使用很多。記住:

  1. 一個信息庫,使文件移動&目錄重命名方便,控制
  2. 存儲庫中的變化無處不在顛簸的修訂版本號在倉庫
  3. 開發商物理目錄結構可以是不同的SVN結構

認證

使用apache,並且如果您將apache配置爲始終進行身份驗證,則不需要使用SSL。

<Location /svn/test> 
    DAV svn 
    SVNPath /svn/test 
    <LimitExcept GET PROPFIND OPTIONS REPORT> 
     AuthType Basic 
     AuthName "Authorization Realm" 
     AuthUserFile /svn/passwd 
     Require valid-user 
    </LimitExcept> 
</Location> 

您可以使用這些規則來在結帳時要求輸入密碼。並且你的密碼存在於一個文件/ svn/passwd中。

和...

使用TRAC爲好。它很好地與顛覆集成,併爲開發人員提供了一個遠離顛覆的界面來查看他們的文件/更改集等。

+0

將Trac附加到現有的Subversion回購有多容易? – cdeszaq 2009-02-27 14:11:28