マージ作業の基本
CVSとかsubversion使っていれば、勝手にやってくれますわな。
テキストファイルなら、なんでもマージ可能です。
php.iniのWinMergeの実行例。
これで、差分のある行で右から左、左から右とマージすれば、マージ作業のほとんどは単純作業です。
ところが。
エディタで2つのファイルを開いて、シコシコと手作業するのがマージだと思い込んでいる人が結構居ます。
以下の二つに分類できると思います。
- ツールを信用していない場合
- そもそもマージツールを知らない場合
ツールが信用できないのは、文字コード/文字エンコードや改行コードの問題があるせいかもしれません。マージツールで改行コードが変わってしまったり、文字化けして大変なことになることが無いわけではないからです。これはツールの展開前に問題点を洗い出しておくことで回避可能と思われます。
マージツールを知らないのは仕方がありません。そしてまたマージツールも慣れるまではミスが多発しやすいからです。
マージの基本流れは以下です。体で覚えるしかありません。
- 差分を確認する
- マージする
- もう1回差分を確認する
- (コンパイル確認・動作確認・ユニットテストなど)
- 構成管理にコミット/チェックインする
構成管理ツールを使っていれば、マージまで自動でやってくれるわけで、人間がやるのはコンフリクトの解消だけです。
すこし気をつけておくと良いのは、マージの方向を決めておくことです。左→右とか右→左です。
マージツールを使ったマージに慣れてくると、括弧{ }の付け方のコーディング規約について改宗が起きることもあります。
if( gold > silver ){
・・・
}else{
・・・
}
ではなくて、
if( plutinum > gold )
{
・・・
}
else
{
・・・
}
というタテに長い書き方のほうが差分見やすくね?
などというものです。まぁ何でもそうですが、絶対こちらが良いというものは無いものですな。
コメント