dpkg-mergechangelogs(1)

名前
dpkg-mergechangelogs - debian/changelogs ファイルの 3-way マージ

書式
dpkg-mergechangelogs [option...] old new-a new-b [out]

説明

このプログラムは、3 つの Debian changelog のバージョンから、マージされたchangelog ファイルを生成する。生成された changelog は out ファイルに保存されるが、パラメータが指定されなかった場合は 標準出力に出力される。

各エントリはバージョン番号によって区別され、競合が発生していないことが前提となる。これらは右から順番に (バージョン番号を減らすことで) 単純にマージされる。--merge-prereleases が指定された場合、バージョン番号の最後のチルダより後の部分が除外されるため、1.0-1~exp1 と 1.0-1~exp5 は同じエントリだと見なされる。new-a と new-b とに同じバージョンがある場合、標準的な行ベースの 3-way マージが試行される (Algorithm::Merge モジュールが利用可能な場合。— これは、libalgorithm-merge-perl パッケージの一部である。 — 利用できない場合は、該当のエントリにおいて競合が発生する)。

オプション

-m, --merge-prereleases
    2 つのエントリが同一と見なされるかどうかを確認するバージョン比較の際に、バージョン番号の最後のチルダより後の部分を除外する。

    これは、バージョン番号を常に増加させているものの、同一の changelog エントリの使用を継続したい場合に有用である。一例として、2.3-1~exp1, 2.3-1~exp2 というバージョンが公式なリリースである 2.3-1 まで続くような場合に、これらを時系列順に並べて同一の changelog エントリにしたい場合などが挙げられる。

--help
    利用方法を表示して終了する。

--version
    バージョン情報を表示して終了する。

制限事項

Anything that is not parsed by Dpkg::Changelog is lost during the merge. This might include stuff like Vim modelines, Emacs variables, comments which were not supposed to be there, etc.

GIT との連携

このプログラムを git リポジトリにある Debian changelog ファイルのマージに用いる場合は、最初に .git/config もしくは ~/.gitconfig に新しいマージドライバを登録しておく必要がある:

 [merge "dpkg-mergechangelogs"]
     name = debian/changelog merge driver
     driver = dpkg-mergechangelogs -m %O %A %B %A

ついで、debian/changelog ファイルの merge 属性をリポジトリ内の .gitattributes もしくは .git/info/attributes 中に設定する必要がある:

 debian/changelog merge=dpkg-mergechangelogs

翻訳者
高橋 基信 <monyo@monyo.com>. 喜瀬 浩 <kise@fuyuneko.jp>. 関戸 幸一 <sekido@mbox.kyoto-inet.or.jp>. 鍋谷 栄展 <nabe@debian.or.jp>. 倉澤 望 <nabetaro@debian.or.jp>. 石川 睦 <ishikawa@linux.or.jp>. 鵜飼 文敏 <ukai@debian.or.jp>. 中野 武雄 <nakano@apm.seikei.ac.jp>.

翻訳校正
Debian JP Documentation ML <debian-doc@debian.or.jp>.