强制旧版本是最新版本 - SVN

时间:2012-12-14 20:16:55

标签: svn

我有一个很旧的修订版,它很有效,我想扭转我在SVN中做过的几个修改。如何简单地删除这些修订并使HEAD成为特定修订版。那样的话,当我按下更新时,它会转到那个修订版,而不是真正的当前重复版?

2 个答案:

答案 0 :(得分:4)

来自svn书:

  

撤消更改

     

svn merge的另一个常见用途是回滚已提交的更改。假设您正在愉快地处理/calc/trunk的工作副本,并且您发现在修订版303中发生的更改(更改为integer.c)完全错误。它永远不应该被承诺。您可以使用svn merge“撤消”工作副本中的更改,然后将本地修改提交到存储库。您需要做的就是指定反向差异:

$ svn merge -r 303:302 http://svn.example.com/repos/calc/trunk
U  integer.c

$ svn status
M  integer.c

$ svn diff
…
# verify that the change is removed
…

$ svn commit -m "Undoing change committed in r303."
Sending        integer.c
Transmitting file data .
Committed revision 350.

有关详细信息,请参阅"Undoing Changes" section的其余部分。

答案 1 :(得分:1)

如果您执行SVN HELP MERGE,请查看显示的第3个表格(-r N:M)。我相信这是你想要使用的方法。