2012-01-12 48 views
1

因此,當涉及到重新編寫整個系統時,您是否更願意爲重新編寫一個新的回購庫,或只是在現有的回購庫中新建一個文件夾?新回購或新回購的文件夾?

我問的原因是新的文件夾方法需要一些雖然爲目錄結構,因爲你需要開始像一些東西。

/root 
/root/v1/ 

然後加入

/root/v2 

回答

4

你忘了第三個選項:

  • 重寫就地軟件,而無需創建一個新的文件夾。

準確地使用版本控制,以便您不需要爲每個版本創建文件夾。

要擴展上述內容:如果新系統與舊系統完全不同 - 完全重寫就像您說的那樣 - 那麼我可能會使用新的存儲庫。如果重寫更加增量,那麼我會保留現有的存儲庫。

添加一個標籤,當你開始重新寫或做重新寫上一個專用分支,這樣你可以跟蹤在舊代碼結束,新的代碼從哪裏開始的。藉助Mercurial或Git等分佈式版本控制系統,您可以在服務器上創建另一個克隆以進行重寫。

分支是一個非常強大的工具。我寫了一個tutorial for Mercurial about branches,你可能會覺得有趣。你看到Alice和Bob在幾個分支上並行工作。在你的情況下,你仍然可以在處理新代碼時將東西添加到舊代碼中。

+0

看起來很容易失去一個開始,另一個開始如果你有大量的提交。 – hcker2000 2012-01-12 16:02:33

+1

我已經添加了一些關於跟蹤舊代碼和新代碼的信息。 – 2012-01-12 16:06:34

+0

創建一個版本註釋,您可以在其中定義「這是真正的休息」 - 點。 – Independent 2012-01-12 16:08:11

1

如果新系統的內部結構不同,但它與系統的其他部分以舊版本相同的方式連接(例如,後端),我將與版本庫的新分支一個Web應用程序)。

如果是在內部完全不同的,與系統的比老版不同的方式,其餘的接口,那麼我會用不同的版本庫去,因爲它不僅僅是一個重寫的新產品。

+0

也是一個很好的方法來看看它。 – hcker2000 2012-01-12 16:47:13