【问题标题】:bazaar bind branches集市绑定分支
【发布时间】:2011-10-02 14:46:02
【问题描述】:

在我的项目中,我有用于工作的本地分支和网络驱动器上的分支 我在本地一号和网络一号之间做了“绑定分支” 我的想法是使用绑定选项自动备份每个本地提交。

在本地分支中提交文件后,我在网络分支中收到一条消息 " 工作树已过期,请运行 'bzr update'。"

我的问题是:

  1. 登录网络分支将显示更新的树。文件是否更新?还是我必须“更新”?
  2. automirror 插件可以帮助我解决这种情况吗?

谢谢

【问题讨论】:

    标签: bazaar


    【解决方案1】:

    将本地分支绑定到远程分支意味着提交到本地分支将自动将该提交推送到远程分支。如果远程分支和本地分支不同步,提交将失败,本地或远程分支都不会受到影响,您的更改仍将位于您的工作树中。要使本地分支与远程分支同步,请使用bzr update

    如果您的网络分支有工作树,那么当提交从本地分支推送到网络分支时,工作树不会自动更新。网络分支的工作树必须使用bzr updateautomirrorpush-and-update 等插件进行更新。

    除非您确实需要网络分支中的工作树,否则我建议您使用 bzr reconfigure --branch 将分支重新配置为无树。如果您有网络分支所属的共享存储库,您还需要在存储库上使用bzr reconfigure --with-no-trees 以阻止它在新分支上创建树。

    【讨论】:

    • 感谢@dOxxx。如果我不绑定分支并在提交后进行推送,我不需要使用更新命令。这意味着由于绑定分支导致的自动推送与手动推送不同。我对吗?您对如何备份每个用户分支有更好的建议吗?谢谢
    • 我确实取消了我的设置,并使用了自动镜像插件,所以每个本地提交,post_commit 钩子都会自动更新网络分支。感谢您的帮助。
    • bzr push 更新远程分支的工作树很有趣。我不是 100% 确定绑定分支是如何实际实现的,因此它可能是远程提交并拉到本地分支而不是本地提交然后推送。这可能是行为差异的原因。
    • 绑定分支上的提交执行commit ,然后执行pullwiki.bazaar.canonical.com/CheckoutTutorial
    • 所以我猜对远程分支的提交不会更新远程工作树,但推送会?这似乎有点奇怪。
    【解决方案2】:

    只有当您的本地和网络分支是最新的时,“绑定分支”功能才会成功。

    因此提交失败,因为这两个工作副本之间存在差异。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多