STANNIX Community


Manual: dpkg-mergechangelogs

dpkg-mergechangelogs(1)					 dpkg suite				     dpkg-mergechangelogs(1)

NAME
       dpkg-mergechangelogs - 3-way merge of debian/changelog files

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

DESCRIPTION
       This program will use the 3 provided versions of the Debian changelog to generate a merged changelog file.  The
       resulting changelog is stored in the file out or output to the standard output if that parameter is not given.

       Each entry is identified by its version number and they are assumed to be not conflicting, they are simply merged in
       the right order (by decreasing version number).	When --merge-prereleases is used, the part of the version number
       after the last tilde is dropped so that 1.0-1~exp1 and 1.0-1~exp5 are considered to be the same entry.  When the same
       version is available in both new-a and new-b, a standard line-based 3-way merge is attempted (provided that the
       module Algorithm::Merge is available — it's part of the package libalgorithm-merge-perl — otherwise you get a global
       conflict on the content of the entry).

       This program was introduced in dpkg 1.15.7.

OPTIONS
       --merge-unreleased
	   Ignore the version number when the entries are marked as UNRELEASED (since dpkg 1.21.0).

	   This	 is  useful  when you have diverging development for versions that have not yet been released.	For instance
	   2.1-1 is released, then development happens for the new 2.2-1 and then for 2.3-1, where it makes  sense  to	just
	   end with a coalesced entry for 2.3-1 including all the development done in 2.2-1.

       -m, --merge-prereleases
	   Drop the part after the last tilde in the version number when doing version comparison to identify if two entries
	   are supposed to be the same or not.

	   This	 is  useful when you keep using the same changelog entry but you increase its version number regularly.	 For
	   instance, you might have 2.3-1~exp1, 2.3-1~exp2, ... until the official release 2.3-1 and they are all  the	same
	   changelog entry that has evolved over time.

       --help
	   Show the usage message and exit.

       --version
	   Show the version and exit.

ENVIRONMENT
       DPKG_COLORS
	   Sets the color mode (since dpkg 1.18.5).  The currently accepted values are: auto (default), always and never.

       DPKG_NLS
	   If set, it will be used to decide whether to activate Native Language Support, also known as internationalization
	   (or i18n) support (since dpkg 1.19.0).  The accepted values are: 0 and 1 (default).

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

INTEGRATION WITH GIT
       If you want to use this program to merge Debian changelog files in a git repository, you have first to register a new
       merge driver in .git/config or ~/.gitconfig:

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

       Then you have to setup the merge attribute for the debian/changelog file either in .gitattributes in  the  repository
       itself, or in .git/info/attributes:

	debian/changelog merge=dpkg-mergechangelogs

1.23.7							 2026-03-31				     dpkg-mergechangelogs(1)