.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "dpkg-mergechangelogs 1" .TH dpkg-mergechangelogs 1 2024-01-24 1.22.4 "dpkg suite" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME dpkg\-mergechangelogs \- 3\-way merge of debian/changelog files .SH SYNOPSIS .IX Header "SYNOPSIS" \&\fBdpkg-mergechangelogs\fR [\fIoption\fR...] \fIold\fR \fInew-a\fR \fInew-b\fR [\fIout\fR] .SH DESCRIPTION .IX Header "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 \fIout\fR or output to the standard output if that parameter is not given. .PP 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 \fB\-\-merge\-prereleases\fR 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 \fInew-a\fR and \fInew-b\fR, a standard line-based 3\-way merge is attempted (provided that the module Algorithm::Merge is available \(em it's part of the package libalgorithm-merge-perl \(em otherwise you get a global conflict on the content of the entry). .PP This program was introduced in dpkg 1.15.7. .SH OPTIONS .IX Header "OPTIONS" .IP \fB\-\-merge\-unreleased\fR 4 .IX Item "--merge-unreleased" Ignore the version number when the entries are marked as \fBUNRELEASED\fR (since dpkg 1.21.0). .Sp 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. .IP "\fB\-m\fR, \fB\-\-merge\-prereleases\fR" 4 .IX Item "-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. .Sp 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. .IP \fB\-\-help\fR 4 .IX Item "--help" Show the usage message and exit. .IP \fB\-\-version\fR 4 .IX Item "--version" Show the version and exit. .SH ENVIRONMENT .IX Header "ENVIRONMENT" .IP \fBDPKG_COLORS\fR 4 .IX Item "DPKG_COLORS" Sets the color mode (since dpkg 1.18.5). The currently accepted values are: \fBauto\fR (default), \fBalways\fR and \&\fBnever\fR. .IP \fBDPKG_NLS\fR 4 .IX Item "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: \fB0\fR and \fB1\fR (default). .SH LIMITATIONS .IX Header "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. .SH "INTEGRATION WITH GIT" .IX Header "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 \&\fB.git/config\fR or \fB~/.gitconfig\fR: .PP .Vb 3 \& [merge "dpkg\-mergechangelogs"] \& name = debian/changelog merge driver \& driver = dpkg\-mergechangelogs \-m %O %A %B %A .Ve .PP Then you have to setup the merge attribute for the debian/changelog file either in \fB.gitattributes\fR in the repository itself, or in \&\fB.git/info/attributes\fR: .PP .Vb 1 \& debian/changelog merge=dpkg\-mergechangelogs .Ve