2017-05-03 9 views
0

私はbzr(bazaar vcs)をしばらく使っていましたが、コアトランク上に積み重ねて(履歴リソースを節約するために)多数のアプリケーションを再ブランチすることにしました。公表されたWebアプリケーションの場合bazaarリモートブランチの「作業ツリー」

、ワークフローは作業ツリーを取得するには、サーバー上のbzr checkout続い

bzr push bzr-ssh://<server>/var/www/<remote-branch-name>

が含まれています。

この新しいスタックされたパラダイムでは、私はもちろん、スタックされたブランチをサーバーにプッシュし、働くツリーを持っていましたが、これは可能ではありませんか?

bzr push --stacked -d <branch> <remote>

喜んサーバーから、サーバー上に新しいスタックブランチを作成しますが、:

  • bzr infoのbzrには親
  • bzr checkout結果を示していますERROR:未支店

ネット、作業ツリーなし:|

最終的に、私は新しいリモートブランチを削除して戻って、--stackedを省略しました。

私は何かを見逃していたのですか?

+0

これは私の上流BZRのバグのようです。 – jelmer

答えて

0

スタックブランチについて説明しますが、以下では共有リポジトリを代わりに使用することをお勧めします。

"bzr info"が親を表示するかどうかは関係ありません。スタックトブランチを表示する必要があります。以下の例で

は、「上に積層された」キーである:

bzr info bzr+ssh://teeny/~/bzr 
Standalone branch (format: unnamed)            
Location: 
    branch root: bzr+ssh://teeny/~/bzr/ 

Related branches: 
    parent branch: bzr 
    stacked on: http://bazaar.launchpad.net/~abentley/bzr/branches-uncommitted 

バザーは、上スタックにどのブランチを決定しようとします。これはプッシュ出力の一部としてそれを出力するはずです。

間違っている場合は、--stack-onで上書きできます。スタックしているブランチは、少なくともブランチと同じくらい一般的なものでなければなりません。

しかし、スペースを節約するために、ブランチを積み重ねるのではなく、共有リポジトリをお勧めします。より効率的で使いやすいものになります。 Bazaarは、ターゲットリポジトリを含むリポジトリを見つけたら、共有リポジトリを自動的に使用します。たとえば、 "bzr init-repo bzr + ssh:/// var/www /"は、/ var/www配下のすべてのブランチで自動的に使用される共有リポジトリを作成します。

プライバシーに関する懸念を解決するために、スタックされたブランチが存在します。/var/wwwにあるブランチの一部がプライベートである場合、それらのプライベートブランチからのリビジョンが含まれるため、共有リポジトリは危険です。 Launchpadがスタックブランチを使用する主な理由は、Launchpadがプライベートブランチをサポートしているためです。パブリックブランチ上にスタックされたプライベートブランチは、パブリックブランチにプライベートリビジョンを漏らすことなく、スペースを節約します。パブリックブランチは最初のプッシュ後にプライベートにすることができるため、デフォルトでスタックを使用します。

関連する問題