■ [Q3] 設定ファイルをSubversionで管理
バージョンアップ時にmenus.xmlやtoolbars.xmlなどが変更されていると自動的に新しいバージョンで上書きされます。自分でこれらのファイルを編集している場合、差分を手でマージする必要があるのですが、度重なると結構面倒です。
私の場合これらのファイルをSubversionで管理して、そこそこ自動でマージできるようになっているのですが、menus.xmlを参考にそのやり方を。
- まず、デフォルトのmenus.xmlを取得します。menus.xmlを一回削除してQMAIL3を起動すればデフォルトのmenus.xmlが作成されます。
- 次にprofilesのならびにprofiles.origディレクトリを作成してデフォルトのmenus.xmlをコピーします。
- この状態でprofiles/menus.xmlを好きに編集します。
- この状態をSubversionのレポジトリにコミットしておきます。
- QMAIL3をバージョンアップしたらmenus.xmlが更新されていて上書きするかどうか尋ねられます。そこでバックアップするように指定して上書きします。
- 次にprofiles/menus.xmlをprofiles.orig/menus.xmlに移動して、コミットします。このときのリビジョン番号が例えば10だったとします。
- 次にprofiles/menus.xml.bakをmenus.xmlにリネームします。
そして、6でコミットした差分を7にマージします。つまり、今回の配布ファイルで変更されたmenus.xmlの差分を、自分が変更したmenus.xmlにマージするというわけです。
svn merge -r 9:10 ../profiles.orig
- すると自分が編集したmenus.xmlにデフォルトのmenus.xmlの差分が適用されます。うまくマージできたらこれをコミットすればOKです。運悪くコンフリクトした場合には手で解決する必要があります。
つまり基本的には、QMAIL3のバイナリに含まれている設定ファイルでベンダーブランチを作って、そちら側の変更を適宜自分が作業しているブランチにマージしていくということです。
なるほど、そういう手もあるわけですねぇ。svnはまだ不勉強…