我想撤销一个svn
修订版,它不是日志中的最新版本。修订版本中有许多文件更改,其中一个已被更新的更改覆盖,而其他所有更改都是最新的。如何撤销不是最新的svn修订版?
所以这是一个中等难度的场景。不仅是我想要取出的修订不在日志的顶部,而且还包含自其他用户更新以来的文件更改。
您能否建议如何以优雅的方式执行这种回复,意味着涉及的最简单的一系列步骤?
我想撤销一个svn
修订版,它不是日志中的最新版本。修订版本中有许多文件更改,其中一个已被更新的更改覆盖,而其他所有更改都是最新的。如何撤销不是最新的svn修订版?
所以这是一个中等难度的场景。不仅是我想要取出的修订不在日志的顶部,而且还包含自其他用户更新以来的文件更改。
您能否建议如何以优雅的方式执行这种回复,意味着涉及的最简单的一系列步骤?
您将需要创建并应用反向补丁。例如,以下一系列命令会恢复修订版925中引入的更改。冲突可能会照常发生,您将不得不通过编辑补丁文件来解决冲突。
svn diff -r 925:924 > rev.patch # diff bad revision with previous one
svn patch --dry-run rev.patch # check for conflicts
svn patch rev.patch # actual patching
svn commit
什么? DIFF?补丁?有一个用于撤消更改的命令:http://svnbook.red-bean.com/en/1.8/svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.undo – bahrep
你可以只运行svn merge ^/MyProject/trunk . -c-123
恢复修订。不要忘记提交此更改并提供日志消息。
阅读文档:http://svnbook.red-bean.com/en/1.8/svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.undo – bahrep