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

NAME         top

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

SYNOPSIS         top

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

DESCRIPTION         top

       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).

OPTIONS         top

       -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.

              Show the version and exit.

ENVIRONMENT         top

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

              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

LIMITATIONS         top

       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.


       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

        debian/changelog merge=dpkg-mergechangelogs

COLOPHON         top

       This page is part of the dpkg (Debian Package Manager) project.
       Information about the project can be found at 
       ⟨⟩.  If you have a bug report for
       this manual page, see
       ⟨⟩.  This page
       was obtained from the project's upstream Git repository
       ⟨⟩ on 2018-10-29.  (At
       that time, the date of the most recent commit that was found in the
       repository was 2018-10-11.)  If you discover any rendering problems
       in this HTML version of the page, or you believe there is a better or
       more up-to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not part
       of the original manual page), send a mail to

1.19.2-17-g96f3                  2018-10-08          dpkg-mergechangelogs(1)