SIMPLE SOLUTIONS

DPKG-MERGECHANGELOGS(1) - Linux manual

Debian/changelogs ファイルの 3-way マージ.

2019-09-05
dpkg-mergechangelogs(1) dpkg suite 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.com>. 喜瀬 浩 <@fuyuneko.jp>. 関戸 幸一 <sekido@mbox.kyoto- inet.or.jp>. 鍋谷 栄展 <@debian.or.jp>. 倉澤 望 <@debian.or.jp>. 石川 睦 <@linux.or.jp>. 鵜飼 文敏 <@debian.or.jp>. 中野 武雄 <@apm.seikei.ac.jp>.

Debian JP Documentation ML <@debian.or.jp>.
1.19.0.5 2019-09-05 dpkg-mergechangelogs(1)
dpkg-mergechangelogs(1).txt (日本語 / Japanese)
Index English version of dpkg-mergechangelogs(1)
Go top