2
==========================
9
あるプロジェクトで作業しようとしていて、公開されているリポジトリに対して
10
読み込みアクセスはできるものの書き込みができないとしましょう。
11
公開されているリポジトリと同じホストで自分のブランチを公開したりバックアップ
12
したりする場合、スタックブランチを使うことができるかもしれません。
14
スタックブランチの他のユースケースとしては、実験的なブランチと、コード
15
ホスティングサイトが挙げられます。これらのシナリオではスタックブランチの
20
-------------------------
22
スタックブランチ(stacked branch)は別の(スタック先)ブランチのリビジョンを
24
スタックブランチはスタック先ブランチには存在しないユニークなリビジョンのみを
25
保存することで、ブランチの作成を高速にしたり、ディスク利用効率を向上します。
26
これらの観点から、スタックブランチは共用リポジトリと似ています。
27
しかしながら、スタックブランチは追加の利点があります:
29
* 新しいブランチはスタックされたブランチとは完全に異なる位置に設置できます。
31
* スタックブランチを削除すれば(共用リポジトリだと残ってしまう)
34
* セキュリティは共用リポジトリよりも向上しています。
35
スタック先のリポジトリはスタックブランチにコミットする開発者に対して
40
--------------------------
42
スタックブランチを作成するには、branchコマンドの ``stacked`` オプションを使用します。
45
bzr branch --stacked source-url my-dir
47
このコマンドによって ``my-dir`` がローカルリビジョンなしのスタックブランチ\
49
定義されると、 ``source-url`` に関連づけされた公開ブランチは
50
*スタックドオン(stacked on)* の位置として使われます。
51
さもなければ、 ``source-url`` は *スタックドオン* の位置になります。
55
-----------------------------------
57
スタックチェックアウトを直接作成する機能はまもなくサポートされる予定です。
60
1. 上記で示されたようにスタックブランチを作成する。
62
2. ``reconfigure`` もしくは ``bind`` コマンドのどちらかを利用して
67
---------------------------------
70
*開発トランク* or *現在の安定* ブランチといった既存のブランチを基礎としています。
71
これらの1つにスタックされた新しいブランチの作成は ``push`` コマンドを利用して
74
bzr push --stacked-on reference-url my-url
76
このコマンドでは、 ``reference-url`` にスタックした新しいブランチを ``my-url``
77
に作成し、 ``reference-url`` には無いリビジョンだけをそこに格納します。
78
``my-url`` は ``reference-url`` と同じホストでも構いません。
80
.. The following text is hidden because bug 375013 breaks the example.
81
When bug 375013 is fixed, we should unhide this text.
82
- Andrew Bennetts, 10 March 2010
84
ローカルブランチがスタックブランチとして作成された場合、
85
``push`` するには ``--stacked`` オプションを使うことが可能で
88
bzr branch --stacked source-url my-dir
91
bzr commit -m "fix bug"
94
この使い方は、上述したユースケースにマッチしています。
98
----------------------
100
スタックブランチに関して覚えておくべき大事なことは、ほとんど全ての\
101
オペレーションでスタック先ブランチが必要になることです。
102
これは両方のブランチがローカルもしくは同じサーバーにあるときは\
105
また、ほとんどの履歴がスタック先リポジトリに格納されているので、スタック先
106
リポジトリへのアクセスがネットワーク経由だった場合に ``bzr log``
107
のようなコマンドが遅くなるかもしれません。
110
-------------------------------
112
``bzr reconfigure`` コマンドを使ってスタックドオンブランチを変更したり\
113
スタックするのをやめたりすることができます。
114
``bzr reconfigure --unstacked`` を実行した場合、bzrは全ての参照されているデータを\
115
スタックドオンブランチからスタックされていたブランチにコピーしてくることに\
117
大きなレポジトリにおいては、これは時間がかかったりリポジトリサイズを増大\