2011-10-10 32 views
0

我有用Visual Studio 2010 Professional開發的C#WinForms編寫的應用程序。我只是這個應用程序的開發人員,我使用它的Tortoise SVN。應用程序打了20萬行,我想將它分成2個不同的程序(甚至改變應用程序的命名),因爲實際應用程序支持2個不同的公司/部門,所以我最好把它們作爲單獨的項目。在投影應用程序時,由於我使用舊應用程序的代碼並添加了更多代碼來支持其他公司/部門,因此它更容易啓動,因此它被構建爲一個項目。但是現在由於應用程序已經足夠成熟,我想將它分成兩個甚至三個項目,因爲它不再合理。如何在Tortoise SVN中將Visual Studio項目拆分爲2個獨立的應用程序(不會再合併)?

我該怎麼做?分支會幫助嗎?我讀過它是測試功能並重新合併,但它不是我想要的。充其量,我想有2-3個獨立的目錄,所以我甚至考慮簡單地複製應用程序源多次,並從複製的應用程序中刪除Tortoise SVN文件,以便我可以更改它們的名稱並將它們作爲新應用程序再次提交到Tortoise SVN中,然後慢慢刪除不必要的代碼。

回答

2

您可以分支,然後在一個分支中刪除一半項目,並在另一個分支中刪除項目的另一半,或者您可以複製存儲庫並執行相同操作(但是您將失去「選項」合併一些文件),或者您可以簡單地擁有兩個解決方案的一個存儲庫。您創建一個空的解決方案並開始添加項目/文件。

最後沒有一個「完美」的解決方案。但是,這三種解決方案都不會比其他解決方案本身「更糟糕」。

我會補充一點,如果您拆分存儲庫,然後想「清理」一下它們的歷史記錄,那可能很複雜。如下所示:http://subversion.apache.org/faq.html#removal從存儲庫中刪除文件+文件歷史記錄(obliterate,因爲他們稱之爲)很複雜。

+0

看起來更容易的事情是將項目目錄複製2次,然後從Tortoise SVN文件中清除它們,然後再將它們作爲新項目提交。這樣所有的歷史等都消失了,就像2個新項目一樣。 – MadBoy

+0

@MadBoy但是,正如你所說,你失去了所有的歷史。我一直認爲歷史是VCS最重要的部分。沒有歷史什麼是VCS?一個分支和合並的工具? – xanatos

+0

考慮到它只會失去2個新的項目,第一個與所有的歷史保持一致,這對我來說應該沒有問題。 – MadBoy

1

我只會做兩個新的分支。然後你就有了歷史,你可以將你當前的工作版本與原始版本進行比較。

+0

我可以很容易地區分我正在工作的是哪一個?像更改項目名稱一樣,也許有2個不同的目錄? – MadBoy

+0

使用不同的目錄。 –

相關問題