注意:我的代碼是用閃存編寫的,但這是SVN相關的問題,不是特定於閃存的。SVN中不同平臺的分支代碼
我有一個針對存儲在SVN存儲庫中的Flash Player 9的代碼庫。我想創建一個針對Flash Player 10的代碼的修改版本。
維護這兩個版本的代碼的最佳做法是什麼?我應該爲FP10版本創建一個分支並分別維護這兩個分支還是有其他一些首選方法?理想情況下,我希望能夠同時解決兩個代碼庫的常見問題。
注意:我的代碼是用閃存編寫的,但這是SVN相關的問題,不是特定於閃存的。SVN中不同平臺的分支代碼
我有一個針對存儲在SVN存儲庫中的Flash Player 9的代碼庫。我想創建一個針對Flash Player 10的代碼的修改版本。
維護這兩個版本的代碼的最佳做法是什麼?我應該爲FP10版本創建一個分支並分別維護這兩個分支還是有其他一些首選方法?理想情況下,我希望能夠同時解決兩個代碼庫的常見問題。
你是對的......這就是分支的用途。如果您在一個分支中進行修復,則可以使用svn merge
將其應用於其他分支。
例子:
svn checkout svn://path/to/fp9branch workingCopy cd workingCopy # make a fix svn commit --message "Fixed bug with the frobbitz." # Committed revision 42. svn switch svn://path/to/fp10branch svn merge --change 42 svn://path/to/fp9branch
現在你已經修補程序應用到fp10branch
,你可以
svn commit --message "Fixed frobbitz bug for FP10."
另一種方法是使用CONFIG ::方法, 它就像#如果定義()in C/C++
但是,您需要手動將此編譯選項添加到編譯行中。 如果不是這會導致編譯錯誤(無法識別標籤)
使用此方法,您不需要在SVN中創建分支。
檢查Flex文檔以獲取更多信息。
private static function SomeFunc():void {
CONFIG::DEBUG {
// do something here if CONFIG::DEBUG is defined during compilation
trace("hello");
}
}
我想我可能會這樣做,因爲我使用ant來構建SWC,並且很容易添加它。 – 2009-11-12 01:31:31
很好地表達了答案 - 謝謝。 – 2009-11-12 05:30:50