This is the command dpkg-mergechangelogs that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
dpkg-mergechangelogs - 3-way merge of debian/changelog files
dpkg-mergechangelogs [option...] old new-a new-b [out]
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
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.
Show the version and exit.
Anything that is not parsed by Dpkg::Changelog is lost during the merge. This might
include stuff like vim modelines, 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:
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:
Use dpkg-mergechangelogs online using onworks.net services