2009-12-08 45 views
3

我寫了一個應用程序,並且一直保持它一段時間,但它已經到了需要添加幾個主要新功能,需要做大量更改的地步,而且我知道很多事情我可以做得更好,所以我開始重寫整個程序(使用原創的零碎)。當你開始重寫程序時,你在源代碼控制庫中做了什麼?

我的問題是,你在這一點上與SVN做什麼?我應該把新版本放在別的地方,還是應該刪除我不再需要的文件,添加新文件,然後像SVN中的正常開發一樣對待它?

您是如何處理過去的?

回答

2

如果你可以增量重構,做到這一點;它是最快的,並且允許你一直有工作版本。否則......舊版本會繼續被開發/支持嗎?如果是這樣,分支它。如果沒有,標記它並繼續向頭部提交。或者,如果您的新項目實際上是一個全新的項目(例如相同的應用程序,但完全不同的技術和大部分舊文件都已刪除),請將新項目提交到存儲庫。

5

我會創建一個分支。如果您需要返回並在主幹中進行一些更改,則可以將主幹中的更改合併到分支,使分支與當前版本保持同步

1

1)如果舊版本幾乎沒有任何共同之處(代碼明智的)除了名字,然後我會創建一個新的項目顛覆。例如如果舊產品被稱爲程序,那麼你可以稱之爲program2或類似的東西。

或者我可能會這樣做,如果項目結構也非常不同。

2)如果是類似然後分支樹幹某處,並將它命名版本1或任何(你可能需要在以後更改該分支出於某種原因)。刪除未使用的文件並根據需要創建新文件。

您的選擇。這裏沒有正確或錯誤的答案。

1

假設你的應用程序是實時的,我會慢慢地重構它,並提交所有更改。如果你的一些變化很大(你可能會「感覺」到極限,「這種變化是否會損害系統的其他部分,或者是一個小小的修正?」),你應該開始一個分支,完成後將其與工作系統合併。很多分支都沒有壞處。

既然你現在已經有了一份工作拷貝,那麼標記它並保留它。有一個備份計劃總是很好的。我不會拋出它,因爲..好吧,重構舊代碼幾乎總是跳動重寫,因爲所有嵌入(並可能被遺忘)在那裏深處的業務規則...

相關問題