[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

HOW to merg CVS revisions



井上です。

いやはや、知らないということは恐ろしいことですね。
以前CVSでemacspeak-14.0をBEPにマージしたとき、
cvs co -jemacspeak-13_0 -jemacspeak-14_0 emacspeak
とやったのですが、かなりのファイルがコンフリクトして、そのうち90%くら
いはCVSの自動キーワード置き換えによるリビジョン番号や日付の衝突でした。
これはマージしようとするときに取り出されるソースのコピーが置き換えられた
キーワードたとえば
;;; $Id: emacspeak.el,v 1.5 2001/06/09 21:03:28 inoue Exp $
;;; $Author: inoue $
などを含んでいるのが原因でした。

落ちついてinfoを見てみたら、ちゃんとこういうことを考えたオプションがあっ
たのですね。
-kkというオプションをつけると、取り出すときにリビジョン番号のところは置
き換え前の形式にした上で差分を作成してくれるので、リビジョンだけの違いで
コンフリクトするなんてことはなくなります。

実験で今のBEP(のコピー)にemacspeakのカレントをマージしてみたら、
コンフリクトはたったの4カ所でした。

もしかすると今問題になっているshell-modeでのヒストリーなども直るかも知れ
ないし、作業用枝をつくってマージしてしまってもよいなと思ってます。

-- 
                    Koichi Inoue, ARGV
                    E-Mail: inoue@...
                    ICQ UIN: 74900690