regexps.com
プロジェクトがより大きくより複雑になるに従い、 arch バージョン内の特定のリビジョンに記号的な名前をつけることができると 便利なことがよくあります.
例えば、hello-world
プロジェクトに沢山のリビジョンがあるとしましょう:
mainline -------- base-0 patch-1 patch-2 .... patch-23
開発が進むにつれて, mainline
から
時折, "スナップショット" が公開されることがあります.
全てのリビジョンが"スナップショット"になるとは限りませんが,
そうなるものもあります.
どのリビジョンがスナップショットになったかのラベルを提供すると 便利なことでしょう:
mainline -------- base-0 patch-1 snapshot 0 patch-2 .... patch-12 snapshot 2 .... patch-23 snapshot 3
以前に紹介した tag
コマンドはこの目的に使えます
(リモートプロジェクトからローカルアーカイブの中にブランチを作るを参照).
最初に tag
に出逢ったときは,
ただ単に, 基本ブランチの base-0
リビジョンを作成するのに
使われました.
さらにそれで、全てのリビジョンがタグであるような
ブランチを作れます.
これから hello-world--snapshots--0.1
と呼ばれる
ブランチを作成するとしましょう.
目的のもの図式化します:
mainline snapshots -------- --------- base-0 --------> base-0 (tag) patch-1 -------------' ------> patch-1 (tag) patch-2 ' .... ' patch-12 ------------' .... patch-23
patch-23
に対応する snapshot
タグを作るには:
% tla tag hello-world--mainline--0.1--patch-23 \ hello-world--snapshots--0.1
そうすると次のようになります:
mainline snapshots -------- --------- base-0 --------> base-0 (tag) patch-1 -------------' ------> patch-1 (tag) patch-2 ' -----> patch-2 (tag) .... ' ' patch-12 ------------' ' .... ' patch-23 ------------'
事実上、 snapshots
ブランチは, 履歴の付いた
"シンボル名" の一種です.
最新のリビジョンを, 対応するシンボルで得ることができます:
% tla get hello-world--snapshots--0.1
そして, より以前のリビジョンを, 特定のリビジョンに名前を つけて得ることもできます. たとえば:
% tla get hello-world--snapshots--0.1--patch-1
使用上の注意: 経験則として、
ブランチは, commit
を基本としたブランチ
(base-0
以降全てのリビジョンが commit
で
作成されたもの)か, あるいは, タグを基本としたブランチ
(全てのリビジョンが tag
で作成されたもの)の
どちらかであるべきです.
replay
, update
, star-merge
のようなコマンドは, その規則を貫くという仮定に基づいてます。
変な状況では, commit
と tag
を
一つのブランチで混在させたくなりますが, 一般的に
勧められることではありません.
regexps.com