如何继续使用旧版本的Assembla SVN?

时间:2013-05-28 06:05:52

标签: svn tortoisesvn assembla

在开发过程中,我在代码中犯了一些错误,并在发现错误之前意外地犯了错误。我的修订版259和261之间的代码更改非常重要。

有没有办法在恢复到259后继续前进并将260和261消灭?

我正在使用tortoisesvn和assembla svn。

3 个答案:

答案 0 :(得分:6)

正确的方法是恢复这些提交,即添加新的提交,取消260和261引入的修改:请参阅“SVN Revert Trunk, remove a revision as if it never existed?

svn merge -r [current_version]:[previous_version] [repository_url]
svn commit -m “Reverting previous commit and going back to revision [previous_version].”
  

如果你正在使用TortoiseSVN,你可以只显示日志,选择提交,然后在上下文菜单中选择“从此版本中恢复更改”。

另请参阅“SVN - delete a revision, or make an older revision the head”。

但另一方面,更激进的是,dump and reload the SVN repo,删除不需要的修订。

我更喜欢第一种解决方案,但这取决于你想要的是什么。

答案 1 :(得分:0)

我将文件从“工作副本”复制到“破损”副本并进行评估。

答案 2 :(得分:0)

VonC得到了它。您使用svn merge还原修订版。但是,我会使用-c标志。假设您在修订版1234中犯了一个错误,请转到您的工作目录并说:

$ svn merge -c -1234 .

这将从您当前的工作目录中删除修订版1234。这与:

相同
$ svn merge -r1235:1234 .

但是,-c语法更容易理解。使用svn log查找出错的修订版,并将其还原。即使其他人提交了您之后的修订版本,这将非常有效 - 只要这些更改都不依赖于您的更改。