Source

bpmercurial-workflow / ja / source / commit_code.rst

Full commit

ソースコードをコミットする

ソースコードを書いたら作業リポジトリにコミットします。

default ブランチが常にリリースされるため、リリース時のマージ以外の成果をコミットする際には、 必ず ブランチを使います。

チケットとブランチ

ソースコードを変更するときにはチケットを作成し、チケット番号に対応するブランチを作ります。

ソースコード変更するために、Tracに #5 というチケットを作成しました。

static/trac-ticket.png

この場合、変更を行ったソースコードはブランチ t5 にコミットします。

$ cd ~
$ cd example-prj
$ hg branch  # 現在のブランチを確認します
default
$ hg branch t5  # チケット番号が5の場合はt5という名前でdefaultからブランチを作ります

ブランチを作ったらソースコードをコミットします。

$ hg ci

これで変更をコミットできました。

この状態であれば、 default ブランチには変更がないため、別のリポジトリ(リリースリポジトリなど)に伝播しても変更はリリースされません。

static/branch-graphlog.png

通常、ソースコードを変更してもそれがすぐにリリースされることはありません。

default ブランチにリリースされないソースコードをコミットしてしまうと、割り込みでリリースを行いたい場合に、マルチヘッドになったり、適用しない変更を除外したりなど、ミスにつながり易い操作を行う必要がでてきてしまいます。

本当にリリースする直前までは default ブランチにソースコードをコミットしない、つまりブランチにのみソースコードをコミットした状態にしておくのが、安全だと考えています。

作業リポジトリの変更をマスターリポジトリに伝播します。

$ hg push --new-branch  # リモートにブランチが追加されるのでnew-branch指定