{
    "mode": "man",
    "parameter": "dpkg-mergechangelogs",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/dpkg-mergechangelogs/1/json",
    "generated": "2026-09-01T20:00:47Z",
    "synopsis": "dpkg-mergechangelogs [option...] old new-a new-b [out]",
    "sections": {
        "NAME": {
            "content": "dpkg-mergechangelogs - 3-way merge of debian/changelog files\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "dpkg-mergechangelogs [option...] old new-a new-b [out]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This program will use the 3 provided versions of the Debian changelog to generate a merged\nchangelog file.  The resulting changelog is stored in the file out or output to the standard\noutput if that parameter is not given.\n\nEach entry is identified by its version number and they are assumed to be not conflicting,\nthey are simply merged in the right order (by decreasing version number).  When\n--merge-prereleases is used, the part of the version number after the last tilde is dropped\nso that 1.0-1~exp1 and 1.0-1~exp5 are considered to be the same entry.  When the same version\nis available in both new-a and new-b, a standard line-based 3-way merge is attempted\n(provided that the module Algorithm::Merge is available — it's part of the package\nlibalgorithm-merge-perl — otherwise you get a global conflict on the content of the entry).\n\nThis program was introduced in dpkg 1.15.7.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "--merge-unreleased",
                    "content": "Ignore the version number when the entries are marked as UNRELEASED (since dpkg 1.21.0).\n\nThis  is  useful  when you have diverging development for versions that have not yet been\nreleased.  For instance 2.1-1 is released, then development happens for the new 2.2-1 and\nthen for 2.3-1, where it makes sense to  just  end  with  a  coalesced  entry  for  2.3-1\nincluding all the development done in 2.2-1.\n",
                    "long": "--merge-unreleased"
                },
                {
                    "name": "-m --merge-prereleases",
                    "content": "Drop the part after the last tilde in the version number when doing version comparison to\nidentify if two entries are supposed to be the same or not.\n\nThis  is useful when you keep using the same changelog entry but you increase its version\nnumber regularly.  For instance, you might have 2.3-1~exp1,  2.3-1~exp2,  ...  until  the\nofficial  release  2.3-1  and they are all the same changelog entry that has evolved over\ntime.\n",
                    "flag": "-m",
                    "long": "--merge-prereleases"
                },
                {
                    "name": "--help",
                    "content": "Show the usage message and exit.\n",
                    "long": "--help"
                },
                {
                    "name": "--version",
                    "content": "Show the version and exit.\n",
                    "long": "--version"
                }
            ]
        },
        "ENVIRONMENT": {
            "content": "DPKGCOLORS\nSets the color mode (since  dpkg  1.18.5).   The  currently  accepted  values  are:  auto\n(default), always and never.\n\nDPKGNLS\nIf set, it will be used to decide whether to activate Native Language Support, also known\nas  internationalization (or i18n) support (since dpkg 1.19.0).  The accepted values are:\n0 and 1 (default).\n",
            "subsections": []
        },
        "LIMITATIONS": {
            "content": "Anything that is not parsed by Dpkg::Changelog is lost during the merge.  This might  include\nstuff like comments which were not supposed to be there, etc.\n",
            "subsections": []
        },
        "INTEGRATION WITH GIT": {
            "content": "If you want to use this program to merge Debian changelog files in a git repository, you have\nfirst to register a new merge driver in .git/config or ~/.gitconfig:\n\n[merge \"dpkg-mergechangelogs\"]\nname = debian/changelog merge driver\ndriver = dpkg-mergechangelogs -m %O %A %B %A\n\nThen  you  have  to  setup  the  merge  attribute  for  the  debian/changelog  file either in\n.gitattributes in the repository itself, or in .git/info/attributes:\n\ndebian/changelog merge=dpkg-mergechangelogs\n\n1.22.6                                       2026-05-06                      dpkg-mergechangelogs(1)",
            "subsections": []
        }
    },
    "summary": "dpkg-mergechangelogs - 3-way merge of debian/changelog files",
    "flags": [
        {
            "flag": "",
            "long": "--merge-unreleased",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-m",
            "long": "--merge-prereleases",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": "--help",
            "arg": null,
            "description": "Show the usage message and exit."
        },
        {
            "flag": "",
            "long": "--version",
            "arg": null,
            "description": "Show the version and exit."
        }
    ],
    "examples": [],
    "see_also": []
}