SVN:将已修改/添加的文件从主干复制到分支

时间:2009-09-01 22:58:11

标签: svn

我对Subversion(1.5+)有点失落:

我在本地工作副本中修改了trunk,添加了新的文件和目录等,但最终我决定在单独的分支上工作会更好,所以我从trunk的基本版本创建了一个。

这很容易。但是现在将我的本地修改文件(包括添加的文件和目录)移动到分支的最佳方法是什么?

我已经尝试像这样切换主干:

project / trunk $ svn switch svn + ssh://lisa@example.com/project/branches/mybranch

这适用于某些文件,但是当它出现添加的目录时,它会给我一条错误消息:

svn: URL 'svn+ssh://lisa@example.com/svn/project/branches/mybranch/component/impl/src/main/java/com/xxx/yyy/addeddirectory' doesn't match existing URL 'svn+ssh://lisa@xxx.com/project/branches/mybranch/addeddirectory' in 'component/impl/src/main/java/com/xxx/yyy/addeddirectory'

感谢您的任何指示!

1 个答案:

答案 0 :(得分:5)

如果您尚未提交更改,则可以从本地文件副本创建补丁文件:

svn diff > patch.txt

然后将其应用于新分支

patch -p0 -i patch.txt

这里有更多解释:

http://ariejan.net/2007/07/03/how-to-create-and-apply-a-patch-with-subversion/

如果你正在使用Windows,你也可以使用TortoiseSVN来做到这一点......