我对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'
感谢您的任何指示!
答案 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来做到这一点......