在我本地的 Subversion 工作副本中,我有一个主干副本和一个代码分支副本。我在主干中进行了更改,并希望将这些更改复制到我的(当前干净的)本地分支副本。
我知道我可以将代码 checkin 中继,然后使用 svn merge
将更改放到分支上,但是有没有什么方法可以在不首先检查更改的情况下执行此操作?
遗憾的是,diff/patch 不起作用,因为围绕我在主干和分支之间的更改的代码发生了变化。我知道svn merge
可以应对这些,但正如我所说,我宁愿不必先检查我的更改。
编辑以添加示例:
树干有一个包含以下内容的文件:
File in trunk: File in branch:
apple apple
orange banana
pear pear
在主干中,我添加 dragon fruit
下面pear
在我的工作副本的主干文件中。如果我检查更改并使用合并将其复制到分支,Subversion 将正确添加 dragon fruit
下面pear
在文件的分支版本中。
svn diff
在我的主干文件副本上生成类似于以下内容的内容:
Index: fruit.txt
===================================================================
--- fruit.txt (revision 56)
+++ fruit.txt (working copy)
@@ -1,3 +1,4 @@
apple
orange
pear
+dragon fruit
显然使用补丁是行不通的,因为它会注意到未更改文本之间的差异。
我想要发生什么,而无需 checkin 任何东西,是dragon fruit
在 pear
之后列出在这两个文件中,但没有 orange
/banana
两个文件的差异都发生了变化。
最佳答案
您可以svn switch
将您的工作副本复制到分支。
不过,最安全的做法是将更改提交到私有(private)分支,然后使用 svn merge
将它们合并到您需要的地方。
关于svn - Subversion 将本地更改合并到分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1873355/