今更だけどbzr-coloの話をするよ(応用編)
昨日に引き続き、bzr-coloの話です。
「colo:」というプレフィックスをつけることで、Colocatedワークスペース内のブランチにアクセスできるのは昨日書いたとおりです。
例えばどんなことが出来るのか、いろいろやってみます。
colo: を使った操作の例
リモートブランチとの連携
新しいリモートブランチをワークスペースに取り込む
$ bzr branch url/to/another/remote/branch colo:origin/another-branchリモートから取り込んだブランチを最新化する(アップストリームでの変更を追いかける)
# --bindで、チェックアウトとしてワークスペースに取り込むこともできます。
$ bzr branch url/to/another/remote/branch colo:origin/another-branch --bind
$ bzr pull -d colo:origin/trunk
# 最初に--bindを指定して取り込んでいるなら、かわりにupdateで
$ bzr update colo:origin/trunk
# ちなみに、colo-pullコマンドを使うと、"origin/"で始まるブランチをまとめて最新化することができます。
$ bzr colo-pull
ワークスペース内でのブランチ操作
アクティブなブランチ上で行った変更を別のブランチにも反映
$ bzr push colo:another-branch別のブランチから変更をマージ
$ bzr merge colo:another-branchrebaseなどの比較的ややこしい処理をする時に、事前にブランチをバックアップ
# --no-switchを指定した場合、新しいブランチを作るだけで、そのブランチへの切り替えはしません
$ bzr colo-branch backup --no-switch
$ bzr rebase colo:feature-foo