Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向后移动SVN主干头_Svn_Merge_Trunk - Fatal编程技术网

向后移动SVN主干头

向后移动SVN主干头,svn,merge,trunk,Svn,Merge,Trunk,我们在主干中遇到的问题是,有人曾经移动文件并删除了顶级目录,提交了更改,然后恢复了目录并提交了更改 从外面看,我们认为这很好。。。直到其他分支从主干同步。 这意味着同步分支时,SVN将删除顶级目录,然后重新添加该目录的中继状态。。。导致该目录中的所有更改在分支ouch上丢失 因此需要一种方法来倒带SVN磁头 我们唯一的想法是从上一次提交中创建一个分支并尝试创建该主干,但这似乎会导致一些问题,如树冲突。尝试反向合并到主干中: svn merge -r HEAD:prev . 在当前主干工作副本

我们在主干中遇到的问题是,有人曾经移动文件并删除了顶级目录,提交了更改,然后恢复了目录并提交了更改

从外面看,我们认为这很好。。。直到其他分支从主干同步。 这意味着同步分支时,SVN将删除顶级目录,然后重新添加该目录的中继状态。。。导致该目录中的所有更改在分支ouch上丢失

因此需要一种方法来倒带SVN磁头


我们唯一的想法是从上一次提交中创建一个分支并尝试创建该主干,但这似乎会导致一些问题,如树冲突。

尝试反向合并到主干中:

svn merge -r HEAD:prev . 
在当前主干工作副本(commit)中执行此操作。prev应为首次删除目录之前的版本


这样,您当然会丢失从现在到上一次对主干所做的所有更改,例如,但至少您的分支应该是正常的

你考虑过切换到git吗?你是如何恢复目录的?如果您使用SVN恢复删除,那么我希望它不会导致您遇到的问题。你只是创建了一个同名的新文件夹,而不是用SVN恢复吗?谢谢Michael,这样可以很好地恢复主干的外观。但是,删除顶级目录的签入仍然会导致所有到主干的同步删除顶级目录,并将其替换为原始主干副本,从而消除该目录中的所有更改。