4634.99.1
by Naoki INADA
import doc-ja rev90 |
1 |
スタックブランチを利用する |
2 |
========================== |
|
3 |
||
5875.1.1
by INADA Naoki
Update Japanese docs. |
4 |
.. _motivation: |
5 |
||
6 |
ユースケース |
|
7 |
-------------- |
|
8 |
||
9 |
あるプロジェクトで作業しようとしていて、公開されているリポジトリに対して |
|
10 |
読み込みアクセスはできるものの書き込みができないとしましょう。 |
|
11 |
公開されているリポジトリと同じホストで自分のブランチを公開したりバックアップ |
|
12 |
したりする場合、スタックブランチを使うことができるかもしれません。 |
|
13 |
||
14 |
スタックブランチの他のユースケースとしては、実験的なブランチと、コード |
|
15 |
ホスティングサイトが挙げられます。これらのシナリオではスタックブランチの |
|
16 |
特性がぴったりあいます。 |
|
17 |
||
18 |
||
4634.99.1
by Naoki INADA
import doc-ja rev90 |
19 |
スタックブランチとは? |
20 |
------------------------- |
|
21 |
||
5875.1.1
by INADA Naoki
Update Japanese docs. |
22 |
スタックブランチ(stacked branch)は別の(スタック先)ブランチのリビジョンを |
23 |
見つける方法を知っています。 |
|
24 |
スタックブランチはスタック先ブランチには存在しないユニークなリビジョンのみを |
|
25 |
保存することで、ブランチの作成を高速にしたり、ディスク利用効率を向上します。 |
|
4634.99.1
by Naoki INADA
import doc-ja rev90 |
26 |
これらの観点から、スタックブランチは共用リポジトリと似ています。 |
27 |
しかしながら、スタックブランチは追加の利点があります: |
|
28 |
||
29 |
* 新しいブランチはスタックされたブランチとは完全に異なる位置に設置できます。 |
|
30 |
||
31 |
* スタックブランチを削除すれば(共用リポジトリだと残ってしまう) |
|
5875.1.1
by INADA Naoki
Update Japanese docs. |
32 |
リビジョンの情報も削除されます |
4634.99.1
by Naoki INADA
import doc-ja rev90 |
33 |
|
34 |
* セキュリティは共用リポジトリよりも向上しています。 |
|
5875.1.1
by INADA Naoki
Update Japanese docs. |
35 |
スタック先のリポジトリはスタックブランチにコミットする開発者に対して |
36 |
物理的にリードオンリーだからです。 |
|
4634.99.1
by Naoki INADA
import doc-ja rev90 |
37 |
|
38 |
||
39 |
スタックブランチを作成する |
|
5609.42.1
by Alexander Belchenko
improved some ReST syntax in Japanese documentation. |
40 |
-------------------------- |
4634.99.1
by Naoki INADA
import doc-ja rev90 |
41 |
|
42 |
スタックブランチを作成するには、branchコマンドの ``stacked`` オプションを使用します。 |
|
43 |
例です:: |
|
44 |
||
45 |
bzr branch --stacked source-url my-dir |
|
46 |
||
47 |
このコマンドによって ``my-dir`` がローカルリビジョンなしのスタックブランチ\ |
|
48 |
として作成されます。 |
|
49 |
定義されると、 ``source-url`` に関連づけされた公開ブランチは |
|
50 |
*スタックドオン(stacked on)* の位置として使われます。 |
|
51 |
さもなければ、 ``source-url`` は *スタックドオン* の位置になります。 |
|
52 |
||
53 |
||
54 |
スタックチェックアウトを作成する |
|
55 |
----------------------------------- |
|
56 |
||
57 |
スタックチェックアウトを直接作成する機能はまもなくサポートされる予定です。 |
|
58 |
それまでの間、2段階の処理が必要です: |
|
59 |
||
60 |
1. 上記で示されたようにスタックブランチを作成する。 |
|
61 |
||
62 |
2. ``reconfigure`` もしくは ``bind`` コマンドのどちらかを利用して |
|
63 |
ブランチをチェックアウトに変換する。 |
|
64 |
||
65 |
||
66 |
スタックブランチをプッシュする |
|
67 |
--------------------------------- |
|
68 |
||
69 |
多くのプロジェクトの大部分の変更は |
|
70 |
*開発トランク* or *現在の安定* ブランチといった既存のブランチを基礎としています。 |
|
71 |
これらの1つにスタックされた新しいブランチの作成は ``push`` コマンドを利用して |
|
72 |
次のように簡単にできます:: |
|
73 |
||
74 |
bzr push --stacked-on reference-url my-url |
|
75 |
||
5875.1.1
by INADA Naoki
Update Japanese docs. |
76 |
このコマンドでは、 ``reference-url`` にスタックした新しいブランチを ``my-url`` |
77 |
に作成し、 ``reference-url`` には無いリビジョンだけをそこに格納します。 |
|
78 |
``my-url`` は ``reference-url`` と同じホストでも構いません。 |
|
79 |
||
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 |
|
4634.99.1
by Naoki INADA
import doc-ja rev90 |
83 |
|
84 |
ローカルブランチがスタックブランチとして作成された場合、 |
|
85 |
``push`` するには ``--stacked`` オプションを使うことが可能で |
|
5875.1.1
by INADA Naoki
Update Japanese docs. |
86 |
スタック先の位置を省略できます。:: |
4634.99.1
by Naoki INADA
import doc-ja rev90 |
87 |
|
88 |
bzr branch --stacked source-url my-dir |
|
89 |
cd my-dir |
|
90 |
(hack, hack, hack) |
|
91 |
bzr commit -m "fix bug" |
|
92 |
bzr push --stacked |
|
93 |
||
5875.1.1
by INADA Naoki
Update Japanese docs. |
94 |
この使い方は、上述したユースケースにマッチしています。 |
95 |
||
4634.99.1
by Naoki INADA
import doc-ja rev90 |
96 |
|
97 |
スタックブランチの制限 |
|
98 |
---------------------- |
|
99 |
||
100 |
スタックブランチに関して覚えておくべき大事なことは、ほとんど全ての\ |
|
5875.1.1
by INADA Naoki
Update Japanese docs. |
101 |
オペレーションでスタック先ブランチが必要になることです。 |
4634.99.1
by Naoki INADA
import doc-ja rev90 |
102 |
これは両方のブランチがローカルもしくは同じサーバーにあるときは\ |
103 |
問題にはなりません。 |
|
104 |
||
5875.1.1
by INADA Naoki
Update Japanese docs. |
105 |
また、ほとんどの履歴がスタック先リポジトリに格納されているので、スタック先 |
106 |
リポジトリへのアクセスがネットワーク経由だった場合に ``bzr log`` |
|
107 |
のようなコマンドが遅くなるかもしれません。 |
|
108 |
||
4634.99.1
by Naoki INADA
import doc-ja rev90 |
109 |
スタックするブランチを変更する |
110 |
------------------------------- |
|
111 |
||
112 |
``bzr reconfigure`` コマンドを使ってスタックドオンブランチを変更したり\ |
|
113 |
スタックするのをやめたりすることができます。 |
|
114 |
``bzr reconfigure --unstacked`` を実行した場合、bzrは全ての参照されているデータを\ |
|
115 |
スタックドオンブランチからスタックされていたブランチにコピーしてくることに\ |
|
116 |
注意してください。 |
|
117 |
大きなレポジトリにおいては、これは時間がかかったりリポジトリサイズを増大\ |
|
118 |
させたりします。 |