我們有一個幾乎完整的程序,但現在需要另一種語言。既然它是同一個程序,它是否應該在一個新的回購庫中的同一個庫中的一個單獨的文件夾中,因爲這些代碼並沒有一起使用,或者沒有對話,我可以做任何我想做的事情?程序的語言端口應該在新的SVN回購中嗎?
編輯:我的意思是編程語言。該程序正在從Java到C#。
我們有一個幾乎完整的程序,但現在需要另一種語言。既然它是同一個程序,它是否應該在一個新的回購庫中的同一個庫中的一個單獨的文件夾中,因爲這些代碼並沒有一起使用,或者沒有對話,我可以做任何我想做的事情?程序的語言端口應該在新的SVN回購中嗎?
編輯:我的意思是編程語言。該程序正在從Java到C#。
一般來說,你應該看看i18n並提取字符串,以便'程序'不被翻譯,而是隻是字符串。然後,您不需要針對不同的語言使用不同版本的程序,而只需在運行時選擇正確的語言。
你當然不想爲它創建一個新的存儲庫。用另一種語言創建一個版本不僅僅是翻譯所有的字符串(例如佈局問題,Unicode錯誤,安裝程序更改等),而且很有可能在過程中發現代碼庫中的一些錯誤。因此,您需要將這些錯誤修復恢復到原始項目中。如果您創建單獨的存儲庫,這將非常困難。
我會建議在你的主存儲庫中創建一個翻譯分支,讓你做翻譯工作,並使程序穩定下來。還要測試原始語言版本以確保您沒有在其中引入錯誤。一旦他們都穩定,然後將它們合併回主幹。
編輯:OP已澄清,這是指一種新的編程語言。我仍然建議使用相同的存儲庫,但可能在一個新的分支,或更改存儲庫佈局,以便您有多箇中繼線(即/Project1/[trunk|branches|tags]
,/Project2[trunk|branches|tags]
)
+1:這是我會採取的方向。 – 2010-10-05 19:50:54
我從來沒有完全理解多個存儲庫的願望 - - 他們的存在引發了這樣一個問題:「我爲X尋找哪種回購?」當然,把所有東西都放在一個回購倉庫裏意味着問題變成'我在尋找X的回購部分?'但無論如何你必須要問這個問題。
對於您的要求,我也會問,兩個版本應該如何分開。當然,您爲Java版本編寫的測試可用於測試C#版本而不用重寫它們?
我認爲這個願望來自其他版本控制系統,當你把太多的數據放入數據庫時,這種系統就會崩潰。或者可能感覺版本庫可能會變得「太大」或什麼東西。 – 2010-10-05 19:29:36
@桑德:你的意思是我諮詢的大公司應該擺脫VSS!? – 2010-10-05 21:11:47
:)我可以想象大型數據庫的恐懼增加了VSS的'經驗' – 2010-10-05 21:52:07
你的意思是說通過語言或計算機語言(C#等)? – Sascha 2010-10-05 15:42:08
您打算維護這兩個版本,還是Java版本的C#端口形式,Java版本將從那裏遷移? – 2010-10-05 18:49:41