13

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

4

3 回答 3

17

您不能合并两个单独的工作副本,但您可以做一些事情。

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

svn diff > patch

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

patch -p0 < patch

和往常一样,您希望patch使用该--dry-run选项运行以确保它首先工作。

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

于 2010-08-25T09:39:14.670 回答
3

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

于 2010-08-25T09:34:31.780 回答
1

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

于 2011-11-18T20:11:03.497 回答