将主干合并到分支时我做了一些错误。首先,我认为检查主干的新工作副本并“手动”添加所有更改会更容易。然后我认为可以删除分支的“src”文件夹并用trunk中的“src”覆盖它。现在很清楚.svn文件夹不是正确的文件夹(因为它们属于主干而不是分支)。所以我决定删除所有的.svn文件夹,但现在我不知道如何再次将它添加到分支机构或如何创建一个包含所有更改的新分支。
我想到目前为止我做错了什么......
我想我会断开我的项目,检查分支的头部修订,但是我再次想要“覆盖”分支,这或多或少取代了整个“src”文件夹(标准maven布局)
好吧,我或多或少可以将我的更改从svn断开,这实际上是当前状态(“src”不是工作副本,因此我也可以断开所有内容)。或者我有一个没有删除.svn文件夹的副本,但.svn文件夹指向主干,这就是整个问题。
亲切的问候,答案 0 :(得分:2)
当我想将另一个分支中的内容替换为另一个分支或其他任何内容时(在Windows下),我使用的步骤:
1)从SVN服务器检出原始分支的最新副本。假设这是原始副本{A}
2)制作工作副本的副本。假设这是修改后的副本{B}
3)将目录更改为{B}的根目录,并从{B}的所有文件夹和子文件夹中删除隐藏的.svn文件夹
CD "{B}"
FOR /F "tokens=*" %G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%G"
4)将{B}复制到{A}
5)提交{A}
答案 1 :(得分:0)
听起来您正在尝试丢弃在分支上进行的所有更改,并将其替换为主干上的确切代码。在这种情况下,为什么不删除整个分支,并根据主干的当前状态创建一个新分支?
答案 2 :(得分:0)
@eee的5步计划应该可以帮助您将工作副本更改集成到SVN(Trunk或分支)中。
如果您希望使用Trunk中的更改升级您的分支,您可以考虑这里描述的“Bunny Hopping”方法:http://designbygravity.wordpress.com/2009/10/19/what-mother-never-told-you-about-svn-branching-and-merging/
基本上,从Trunk创建一个新分支,将旧分支合并到新分支,然后删除旧分支。如果您有未提交的工作副本更改,则可以将这些更改复制到新的工作副本中。
请注意,使用SVN 1.7客户端,删除.svn文件夹要容易得多,因为工作副本的根目录中只有1个。