2010-08-25 201 views

回答

17

您不能合併兩個單獨的工作副本,但是您可以執行一些操作。

如果對現有文件進行更改,最簡單的方法是使用svn diff創建補丁,然後將該補丁應用於其他工作副本。例如。在第一個工作副本,做:

svn diff > patch 

然後你運用它在另外一個:

patch -p0 < patch 

和往常一樣要運行patch--dry-run選項,以確保它正常工作第一。

但是,如果分支機構沒有相同的文件佈局,那麼您不能只是採取補丁並應用它。在這種情況下,您需要做的僅僅是首先提交其他本地更改,然後像往常一樣使用svn merge

+0

'patch'也是svn命令嗎?它看起來像沒有安裝在我的Windows機器上。 – Mot 2010-08-25 09:41:14

+0

不,修補程序只是應用修補程序文件的通用工具。你可以在這裏得到它的窗口:http://gnuwin32.sourceforge.net/packages/patch.htm – 2010-08-25 09:55:11

+4

如果你使用TortoiseSVN,你可以從TortoiseSVN右鍵菜單中打補丁。 – 2010-08-25 11:36:21

1

如果您的更改包括刪除,則使用GNU補丁程序將不會將其刪除。如果您希望將更改提交給兩個分支,請將它們一次提交,然後svn將這些更改合併到另一個分支。如果您在分支A中進行了更改並且在分支B中需要它們,svn將您的分支切換到分支B.