2
2
==========================
9
あるプロジェクトで作業しようとしていて、公開されているリポジトリに対して
10
読み込みアクセスはできるものの書き込みができないとしましょう。
11
公開されているリポジトリと同じホストで自分のブランチを公開したりバックアップ
12
したりする場合、スタックブランチを使うことができるかもしれません。
14
スタックブランチの他のユースケースとしては、実験的なブランチと、コード
15
ホスティングサイトが挙げられます。これらのシナリオではスタックブランチの
5
20
-------------------------
7
スタックブランチ(stacked branch)は別のブランチのリビジョンを見つける方法を知っています。
8
スタックブランチはユニークなリビジョンのみを保存することで、速く作れたり\
22
スタックブランチ(stacked branch)は別の(スタック先)ブランチのリビジョンを
24
スタックブランチはスタック先ブランチには存在しないユニークなリビジョンのみを
25
保存することで、ブランチの作成を高速にしたり、ディスク利用効率を向上します。
10
26
これらの観点から、スタックブランチは共用リポジトリと似ています。
11
27
しかしながら、スタックブランチは追加の利点があります:
13
29
* 新しいブランチはスタックされたブランチとは完全に異なる位置に設置できます。
15
31
* スタックブランチを削除すれば(共用リポジトリだと残ってしまう)
18
34
* セキュリティは共用リポジトリよりも向上しています。
19
スタックドオンリポジトリはスタックブランチにコミットする開発者に対して物理的にリードオンリーだからです。
35
スタック先のリポジトリはスタックブランチにコミットする開発者に対して
21
これらの恩恵によって実験ブランチとコードホスティングサイトを含めたさまざまな\
22
シナリオに対してスタックブランチは理想的なものになります。
25
-------------------------
40
--------------------------
27
42
スタックブランチを作成するには、branchコマンドの ``stacked`` オプションを使用します。
59
74
bzr push --stacked-on reference-url my-url
61
このコマンドによって ``reference-url`` にスタックされた ``my-url`` で新しいブランチが作成され
62
``reference-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
64
84
ローカルブランチがスタックブランチとして作成された場合、
65
85
``push`` するには ``--stacked`` オプションを使うことが可能で
66
*stacked-on* な位置が明確になります。例です::
68
88
bzr branch --stacked source-url my-dir
71
91
bzr commit -m "fix bug"
94
この使い方は、上述したユースケースにマッチしています。
76
98
----------------------
78
100
スタックブランチに関して覚えておくべき大事なことは、ほとんど全ての\
79
オペレーションでスタックドオンブランチが必要になることです。
101
オペレーションでスタック先ブランチが必要になることです。
80
102
これは両方のブランチがローカルもしくは同じサーバーにあるときは\
105
また、ほとんどの履歴がスタック先リポジトリに格納されているので、スタック先
106
リポジトリへのアクセスがネットワーク経由だった場合に ``bzr log``
107
のようなコマンドが遅くなるかもしれません。
84
110
-------------------------------