2011-10-15 37 views
0

我被告知SVN是能夠管理從相同代碼庫運行的多個站點的好方法。然而,我正在努力尋找關於SVN的足夠信息以及如何以這種方式使用SVN。基本上,我會考慮將我的電子商務系統放到SVN中,然後在多個站點上運行它們,每個站點都有特定的配置設置,以便指定允許的模塊。作爲基本代碼存儲庫的web開發中的SVN

任何人都可以告訴我,如果 (a)SVN是這樣做的正確方法 (b)有任何材料/教程如何最好地做到這一點。

回答

1

SVN是一個版本控制工具,而不是一個多站點管理工具。儘管我可以看到如何以這種方式使用它,但這不是你開箱即用的。您首先需要了解SVN。

作爲一個例子,每個網站都可以擁有自己的svn代碼分支。您想要傳播到其餘分支的任何更新,您將與主幹合併,然後更新其餘分支。

也就是說,分支可以很快變得非常複雜,特別是對於多個開發人員。 Git處理分支要比SVN好得多(我認爲)。 Git也是一款版本控制工具,就像SVN一樣。但是,它又是專爲版本控制,多位點管理而設計的。

+0

如果站點根據配置的變化只區分**,我更喜歡** configs ** * sepataely *的SCM,並且從基礎引擎中分離出一個回購 –

+0

我認爲IM可能遠遠超出我的想象並需要做更多的研究,以找到正確的解決方案 – Ben

0

我想你可以把每個安裝作爲SVN倉庫的工作副本,登錄到每個系統,並從SVN服務器上的最新代碼簽出。

我不推薦這種方法。它會很慢,並會污染你的應用程序文件夾中的一些svn數據,你不需要在你的web服務器上。你不想冒險把它放入你的web根目錄。

我推薦使用rsync。使用rsync,推出更新比複製本地文件稍微複雜一些。如果您正在運行linux,則可能是rsync已經在您的系統上。在Windows上,您可以在cygwin下運行它,或者查找各種替代實現,例如DeltaCopy。

如果因爲某些原因你不能使用rsync將無法正常工作,我會推薦使用SFTP。

+0

想要downote,但重新思考... **從來沒有**使用WC作爲網絡空間的一部分。只清理出口副本 –

+0

@LazyBadger,你看過第二段嗎?我清楚地建議不要使用SVN。我從來沒有被低估過,因爲有人同意我的觀點。 – mikerobi