2009-08-07 95 views
6

我已經簽出了我的應用程序的特定Subversion分支。稱它爲'1.0'。我一直在做一些改變,增加了一些新的文件等,但還沒有做出改變。但是,我不想將更改提交到'1.0'分支。相反,我想將我的更改提交到新的「1.1」分支。顛覆分支問題

據我所見,我需要先檢查'1.0'分支的新副本,然後創建一個名爲'1.1'的新Subversion分支,然後在提交之前手動複製我的未決更改。

有沒有更簡單的方法來做到這一點?

回答

9

您可以遠程創建分支,然後切換到新分支並提交更改。

$ cd /path/to/working 
$ svn copy svn://my/repos/trunk svn://my/repos/branches/1.1 -m "Created branch 1.1" 
$ svn switch svn://my/repos/branches/1.1 
$ svn commit -m "Your message" 
+0

您可能想複製分支而不是第二行中的樹幹。 – 2009-08-07 06:51:24

+0

這個伎倆。非常感謝。 – Rob 2009-08-07 07:15:22

2

svn switch可讓您將工作副本切換到不同的分支。您可以事先創建分支,而不用檢出新副本svn copy <repository>/branches/1 <repository>/branches/2

3

您實際上可以創建分支而不必檢出工作副本,只使用遠程URL。如果你將一個svn copy的trunk(或者1.0分支)作爲1.1分支,你可以做一個svn switch來移動你的工作副本來指向新的分支然後在那裏提交。 (如果您有沒有做過這樣的事情之前,明智的做法,以保存當前工作副本的備份,這樣你就不會失去你的修改。)

例如...

svn copy http://svn.example.com/branches/1.0/ \ 
     http://svn.example.com/branches/1.1/ \ 
    -m "Creating 1.1 branch." 

cd /path/to/working/copy 
svn switch http://svn.example.com/branches/1.1/ 

取詳情請看svn help switch