2010-08-25 87 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.