2012-03-13 43 views
29

我想回到我的集市历史(改变工作树)找到引入某个bug的提交。回到Bazaar旧版本

我不想删除任何提交,只是更改我的工作树,直到找到该错误,然后我想返回到最新的修订版处理。

什么是这两个命令(回去的较早提交事后检查出最新版本再次)?

在此先感谢。

+0

我从来没有使用Bazaar,但在SVN中,您所指的操作是“更新到版本”和“更新到头部”。如果Bazaar中的相关命令使用相似的语言。 – jhocking 2012-03-13 13:13:37

回答

21

将工作树恢复为特定修订版N:

bzr revert -rN 

要恢复工作树在分支的最新版本:

bzr revert 
+0

这使得bzr认为你的工作树有局部变化,而'bzr责备'然后没有做我所期望的。从Don的回答中''bzr update -r '做了我想要的更好的东西,这是纯粹的考古学,其形式是“找到引入某个bug的提交”。使用'bzr update -r '并使用'bzr blame'跟踪回来,以​​更好地遵循重命名和重构。 – 2017-03-07 16:36:52

4

改变工作树,这在此前的版本N

bzr revert -r N 

更新你的工作副本,它在最新修订的状态的状态:

bzr up 

Bazaar Quick Reference Card

13

有把你的工作树时光倒流到版本N.两种方式,第一是由其他的答案中提到在这里:

bzr revert -rN 

这将修改所有必需的文件,使如果您运行bzr status它会显示所有的文件,改变了你的工作树匹配修订N.的内容。如果你运行bzr commit那么所有这些落后的改变会得到承诺和你的头,现在修改会是什么样修订N.

回来在你的分支最新版本:

bzr revert 

您也可以运行bzr update ,但如果您的分支是结帐,那么可能会得到一些较新的修订。

的其他选项回到过去是这样的:

bzr update -rN 

两者之间的区别是,bzr update使它看起来好像已经不需要做任何改变。只是你的工作树已经过时了。

回来在你的分支最新版本:

bzr update 
+0

'bzr更新'正是我一直在寻找 – 2015-09-15 12:02:48

4

谁与bzr revert -rN回答其他评论者在这个意义上说是直接回答这个问题,因为它是问肯定是正确的,但是,如果你有大量的提交检查通过为了测试一个错误的存在,使用二分法是非常有效的。有一次,我被提交了一个bug,其中最后一次已知的良好提交是300次提交之前,并且bisection仅在8次通过中发现了有罪提交(我的意思是,我只需检查300个提交中的8个提交以找到一个引入了错误)。

http://doc.bazaar.canonical.com/plugins/en/bisect-plugin.html

如果你觉得通过的可能数量压倒提交你需要检查,这应该减少工作显著涉案金额!

0

你可以使用bzr登录--forward看到你以前版本的降序排序

,您可以使用bzr如果你想恢复到上次恢复-r变更您的版本到

版本只是做BZR恢复