SVN:将本地更改合并到其他工作副本中

时间:2010-08-25 09:32:27

标签: windows svn merge working-copy

我有两个同一个项目的工作副本,每个副本都切换到另一个分支。是否可以将一个项目中的本地更改合并到另一个工作副本?

3 个答案:

答案 0 :(得分:17)

您无法合并两个单独的工作副本,但您可以执行一些操作。

如果对现有文件进行了更改,最简单的方法是使用svn diff创建修补程序,然后将该修补程序应用于其他工作副本。例如。在你做的第一个工作副本中:

svn diff > patch

然后你将它应用于另一个:

patch -p0 < patch

与往常一样,您希望使用patch选项运行--dry-run以确保其首先运行。

但是,如果分支机构没有相同的文件布局,那么您不能只修补并应用它。在这种情况下,您需要做的只是首先提交其他本地更改,然后照常使用svn merge

答案 1 :(得分:3)

您可以在一个工作副本(svn diff)上创建一个补丁,并将其应用到另一个(patch)。 http://ariejan.net/2007/07/03/how-to-create-and-apply-a-patch-with-subversion/

答案 2 :(得分:1)

如果您的更改包含删除,则使用GNU补丁不会删除它。如果您希望将更改提交到两个分支,请将它们一个提交,然后svn将这些更改合并到另一个分支。如果您在分支A中进行了更改并在分支B中需要它们,则svn将您的分支A工作副本切换到分支B.