2012-07-02 93 views
5

最近我們轉移到svn。從特定標籤創建SVN分支併合併到主幹

我這裏有兩個問題,

  1. 我們不得不釋放和創建標籤TAG1。 一個星期後有一個生產問題,prod代碼庫是TAG1,稍後在主幹上我們做了幾個我們不想推到生產中的改變,所以最好的方法是在這裏從TAG1取代碼並做改變,我們有從標籤導出數據但不能提交,我們不想提交該標籤,發佈後需要一個單獨的分支使另一個基於此分支的標籤(TAG2)最終合併到Trunk。合併到Trunk不是問題。問題在於如何從基於代碼的代碼創建分支並提交更改?

  2. 我們每兩個月發佈一次,所有這些更改都直接在trunk上進行,發佈後我們創建一個TAG並繼續下一個版本。 另一方面,我們打算開始一個新的項目XYZ,這個項目將在年底發佈(日期尚未確定),在這裏,這個分支需要從之前的TAG創建,而不是從主幹創建,因爲已經在主幹上做了一些更改,我們如何才能實現它?

感謝 KV

回答

13
svn copy your.repo.URL/tags/your-tag-name your.repo.URL/branches/your-new-branch-name -m "message" 

然後在其上

svn checkout your.repo.URL/branches/your-new-branch-name 
4

分行的工作和標籤都是同一件事:從一個網址廉價拷貝和版本到另一個URL。

參見http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.ref.svn.c.copy作爲複製命令的參考。你只需要:

svn copy http://svn.foo.com/project/tags/TAG1 http://svn.foo.com/project/branches/maintenance-TAG1 
+0

謝謝你們的快速回復。現在我有下面的錯誤「svn無法使用外部編輯器來獲取日誌消息考慮設置$ svn_editor環境」,如果我嘗試使用-m「消息」獲取低於錯誤svn:通過預先提交鉤子(退出代碼1)與輸出 – KVB

+0

你是如何創建標籤的?對分支執行相同的操作,但使用適當的URL。我不知道你的pre-commit hook是幹什麼的。 –

+0

順便說一下,我有管理員權限。 – KVB