2
===========================
7
時々、複数のブランチに取り組むために単独のチェックアウトを\
9
挙げられる理由のいくつかは次の内容を含みます:
11
* 作業ツリーが大きいときディスクスペースを節約する
14
多くの場合、作業ツリーのディスクの利用量は ``.bzr`` ディレクトリよりも
16
複数のブランチに取り組みたいが、それぞれの作業ツリーすべてのオーバーヘッドを\
17
許容できない場合、複数のブランチをまたがってチェックアウトを再利用することが\
20
他の機会において、サンドボックスの位置は数多くの開発とテストツールに設定されます。
21
繰り返しますが、複数のブランチをまたがったチェックアウトの再利用は役に立ちます。
25
---------------------------------------
27
チェックアウトが結びつけられている場所を変更するためには、次の手順に従います:
29
1. 作業内容が失われないようにローカルの変更が中央ブランチにコミット
32
2. 取り組みたい新しいリモートブランチのURLを渡して ``bind`` コマンドを使います
34
3. ``revert`` コマンドの後に続いて ``update`` コマンドを使用して望むブランチの
37
新しいブランチに bind して update するだけだと、コミットしたもの、していないもの\
38
両方のローカルの変更がマージされることに注意してください。
39
``revert`` か ``commit`` を使って、それらを維持するか破棄するかを決めなければ\
42
bind+update レシピの代わりは ``switch`` コマンドを使うことです。これは基本的に、\
43
ツリーの中のコミットされていない変更がマージされること以外は、既存のブランチを\
44
除去して新しい位置で ``checkout`` を再び実行することと同じです。
46
注: 場合によってバインドされた異なるブランチの適切なキャッシュをチェックアウトするために
47
``switch`` はコミットされた変更を廃棄するので、ローカルにコミットされているが最も最近\
48
バインドされたブランチにまだコミットされていない変更が存在する場合意図的に失敗します。
49
これらの変更を本当に廃棄したいのであれば、 ``--force`` オプションを使います。
53
----------------------------------
55
軽量型チェックアウトでは、ローカルのコミットは存在せず、 ``switch`` は\
56
作業ツリーが関連づけられたブランチを効率よく選びます。
57
1つの可能なセットアップ方法は、ローカルツリーなしのリポジトリと軽量\
59
これによって取り組むものを簡単に切り替えることができます。例です::
61
bzr init-repo --no-trees PROJECT
63
bzr branch sftp://centralhost/srv/bzr/PROJECT/trunk
64
bzr checkout --lightweight trunk my-sandbox
68
この例のこの範囲でtrunk ``.bzr`` ディレクトリを持ちますがそこでの\
69
ブランチとしての作業ツリーはツリーなしのリポジトリで作られたことに\
70
注意してください。必要な数だけブランチを入手もしくは作成して必要に\
71
応じてそれらの間で切り替えることができます。例です::
73
(my-sandboxの中にいることを前提とする)
74
bzr branch sftp://centralhost/srv/bzr/PROJECT/PROJECT-1.0 ../PROJECT-1.0
75
bzr switch ../PROJECT-1.0
77
bzr commit -m "blah, blah blah"
79
(go back to working on the trunk)
81
注: ブランチはローカルのみのものでも、(``checkout`` で作るか ``branch``
82
でそれらを作った後で ``bind`` を使うことで)リモートのブランチにバインド\