手作業マージはめんどくさい

| コメント(2)

ちょっとした手違いが元で、あるリビジョンとあるリビジョンをマージする事になった。

バージョン管理システムが使いこなせず、差分は diff ツールで確認しながらもほぼ手作業でマージしてしまった。片方はタブインデントで、一方はスペースインデント。なので、SVN で保持するリビジョンでマージすると完全な上書きか衝突になるはず、という前提で作業を進めた。

"svn merge"が使えるかどうかはともかく、手作業でやる必要はなかったかもしれない。結局、一番の問題は『インデントの違い』で同じ行が違う行として扱われる危険性。これは、Emacs の"CM-\"でいけた気がする。作業コピーディレクトリとは別の場所にそれぞれのリビジョンから取り出したファイルを置いて、それぞれを同じルールで(機械任せで)インデントし直しておく。それから両者の diff を見て、機械マージの是非を問うべきだった。

マージツールはよく知らないんだけど、最悪 diff で差分ファイル作ってから patch とかでやっても問題ないんじゃないか?衝突に出会う事があまりないので、その辺のノウハウが無い。

とりあえず、自動エンコーディング対応の diff ツールと、マージの仕組み、便利なマージツールの調査かな。

コメント(2)

diff -b だとインデントの違いを気にしませんよ

なるほど。
やっぱり、そういうオプションあるんですよね。

プロフィール

このブログ記事について

このページは、koshigoeが2006年3月16日 22:21に書いたブログ記事です。

ひとつ前のブログ記事は「今更ながらに YAML 勉強」です。

次のブログ記事は「my hatena bookmark on 2006-03-16」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。