7

使用Subversion(SVN)管理需要單個配置文件的項目的最佳實踐是針對不同環境具有多個併發版本。項目配置文件的Subversion管理

I.e.

  • 項目ABC用於三種不同的環境,它們使用相同的代碼,但略有修改的配置文件除外。 AND
  • 項目ABC也是由多個開發人員開發的,每個開發人員都使用稍微修改後的配置文件。

我知道可以使用配置文件模板和svn:ignore,但想知道是否有人可以描述此方法的最佳實踐和/或任何其他合適的替代方案。

在此先感謝!

M.

回答

3

我不知道這是否是「最佳實踐」,但是這是我如何處理這一點,它工作得很好。我有幾個應用程序,他們每個都有一個單獨的配置文件,用於他們的製作,暫存和開發環境。配置名爲web.config,stage.config和dev.config。所有這三個都保持在版本控制之下。該應用程序預計並使用web.config來檢索配置設置。作爲我們由巡航控制調用的NANT構建和部署腳本的一部分,根據要部署的環境,將相應的配置重命名爲web.config並進行部署。

希望這會有所幫助。

+0

我其次。另外,如果配置文件(即幾個SQL語句和幾個應用程序設置)之間的差異很小,那麼可以使用該方法的輕微置換是將更改存儲在構建腳本本身中,並使用NAnt的xmlpoke更新到正確的連接字符串。然後,您可以使用自己的回購軟件構建腳本,並將生產密碼與代碼庫分開。 – 2009-09-30 02:35:41

1

在源代碼控制中保留多個文件可能會非常棘手。我們使用家庭brew配置工具讀取系統環境變量,然後讀取匹配的配置文件,然後修改共享配置文件。我不能說這是一個很好的解決方案,但它的工作原理。

0

多年來,和許多不同的,成功的項目,我只是不版本的系統或開發人員特定的配置文件。有時它只是數據庫訪問信息,或者一些重要的路徑或其他。將其縮小至儘可能小。不要對那些信息進行版本控制感到難過。這已經在多個項目中的每個數字介於2到5個開發人員之間完成,並且它從未在現實世界的項目中引起混淆,問題或爭論。

0

在我看來,保持版本控制下的所有配置文件是沒有用的。在我的一個項目中,我們有配置文件,這些配置文件是用cmake爲幾個平臺創建的(來自同一個模板)。我們團隊中的每個開發人員都有自己的定製附加腳本來創建所需的配置。

+0

但如果你從來沒有提交任何配置文件vesion控制下,你如何同意哪一個是默認的?你是否至少需要一個默認的模板? – sivabudh 2009-10-22 06:12:23