2011-10-02 83 views
3

在我的項目中,我有本地分支工作和分支網絡驅動器 我做了「綁定分支」本地之一和網絡之一 我的想法是使用綁定選項爲每個本地提交的自動備份。bazaar綁定分支

當我在本地分支中提交文件後,我收到一條消息在網絡分支 「工作樹已過期,請運行'bzr update'。」

我的問題是:在網絡分支

  1. 日誌將顯示更新的樹。文件是否更新?或者我必須做「更新」?
  2. automirror插件將幫助我這種情況?

感謝

回答

4

將本地分支綁定到遠程分支意味着提交到本地分支會自動將該提交推送到遠程分支。如果遠程分支和本地分支不同步,則提交將失敗,並且本地或遠程分支都不會受到影響,並且您的更改仍將位於工作樹中。要使本地分支與遠程分支同步,請使用bzr update

如果您的網絡分支有一個工作樹,那麼當提交從本地分支推送到網絡分支時,工作樹不會自動更新。網絡分支的工作樹必須更新爲bzr update或插件,如automirrorpush-and-update

除非您實際需要網絡分支中的工作樹,否則我會建議您使用bzr reconfigure --branch將分支重新配置爲無樹狀。如果您擁有網絡分支所屬的共享存儲庫,則還需要在存儲庫上使用bzr reconfigure --with-no-trees以阻止其在新分支上創建樹。

+0

謝謝@dOxxx。如果我不要綁定分支,只是在提交後推送我不需要使用更新命令。這意味着綁定分支的自動推送與手動推送不同。我對嗎?你有更好的建議如何備份每個用戶分支?謝謝 –

+0

我沒有綁定我的設置,並使用automirror插件,因此每個本地提交,post_commit掛鉤都會自動更新網絡分支。感謝您的幫助。 –

+0

有趣的是'bzr push'更新遠程分支的工作樹。我不是100%確定綁定分支是如何實際實現的,所以它可能是一個遠程提交併拉到本地分支,而不是本地提交然後推送。這可能是導致行爲差異的原因。 – dOxxx

1

的「綁定分支」功能會成功只有當你的本地和網絡的分支了最新

所以提交失敗,因爲這兩個工作副本之間存在差異。