subversion:没有工作副本的合并

时间:2012-07-15 00:59:14

标签: svn merge

我想从命令行svn恢复错误的提交。通常的建议是将提交反向合并到工作副本中,然后提交更改。在我的情况下,错误提交是一个错误输入svn import,它破坏了我的存储库的一部分,我没有在其他任何地方检查过。我可以查看受影响的目录,然后按照通常的建议,但如果我可以完全使用URL反向合并,而没有工作副本,那将更加优雅。这可能吗?

1 个答案:

答案 0 :(得分:2)

不,你不能简单地通过URL合并,因为这意味着合并甚至没有看到产生的合并 - 这是一种非常糟糕的做法。

有一种情况,这不会是坏事:

  • 有人在版本455(当前版本)中做了一次可怕的大规模更改。您可以轻松地将存储库还原到版本454而不必担心太多。没有必要看看最终结果会是什么。

然而,想象一下:

  • 有人在修订版455中做了一次可怕的大规模更改。目前的版本修改为460. Subversion现在有五个新的更改。您可以像上一个示例中那样退出更改集455,但是您不会获得修订版454.相反,您将获得修订版454,其中包含修订版456到460中所做的更改。其中一些更改可能独立于版本修订版455。其中一些更改可能是由于修订版455中所做的更改。

我知道清理现在有一个很大的混乱,但是你有这个混乱的原因是因为某人通过 svn import 命令提交了更改,而无需在提交之前先验证它们。这就是我不鼓励使用 svn merge 命令的原因。