bzr : 是否可以在离线版本之间切换?

bzr : Is it possible to switch between revisions offline?

我正在使用 "bzr update -r ${revisionNo}" 命令在修订版之间切换。但是速度慢,而且好像是做网络操作的。为什么?

我已经检查了整个仓库,所以所有的修改都必须在我的本地。为什么会连上网络?

这有点推测性,但我猜您正在使用 bound branch。绑定的分支仍然链接到您签出的位置,并将参考它进行某些操作。如果使用 bzr checkout 而不是 bzr branch,则会创建绑定分支。它的存在是为了模拟 CVS 或类似颠覆的行为,您在中央存储库上操作。

不支持快速 update,因为这不是绑定分支的预期操作模式。但是,您可以使用 bzr checkout --lightweightbzr exportbzr revert 之一重新访问存储在本地的旧版本。

为了完全脱机工作,您可以使用bzr unbindbzr reconfigure --tree将现有绑定分支转换为未绑定分支。警告:如果你这样做,你将必须在它们在远程存储库中可见之前使用 bzr push 显式推送你的提交。您可以使用 bzr bind 重新绑定分支。

虽然不太可能,但在创建 "stacked branch" 时也有可能遇到这种情况。堆叠分支重用来自不同分支的历史记录,如果该分支不是本地分支,那么大多数 bzr 操作将不得不通过网络。它是用 bzr branch --stacked 创建的,通常用于在服务器上保存 space。您可以使用 bzr reconfigure --unstacked.

将堆叠分支转换为非堆叠分支