summaryrefslogtreecommitdiffstats
path: root/man/dpkg-mergechangelogs.man
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--man/dpkg-mergechangelogs.man95
1 files changed, 95 insertions, 0 deletions
diff --git a/man/dpkg-mergechangelogs.man b/man/dpkg-mergechangelogs.man
new file mode 100644
index 0000000..4d6159c
--- /dev/null
+++ b/man/dpkg-mergechangelogs.man
@@ -0,0 +1,95 @@
+.\" dpkg manual page - dpkg-mergechangelogs(1)
+.\"
+.\" Copyright © 2009-2010 Raphaël Hertzog <hertzog@debian.org>
+.\"
+.\" This is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program. If not, see <https://www.gnu.org/licenses/>.
+.
+.TH dpkg\-mergechangelogs 1 "%RELEASE_DATE%" "%VERSION%" "dpkg suite"
+.nh
+.SH NAME
+dpkg\-mergechangelogs \- 3-way merge of debian/changelog files
+.
+.SH SYNOPSIS
+.B dpkg\-mergechangelogs
+.RI [ option "...] " old " " new-a " " new-b " [" out ]
+.
+.SH DESCRIPTION
+.P
+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\fP or output to the standard output if that parameter is
+not given.
+.P
+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\fP 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\fP and \fInew-b\fP, 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).
+.
+.SH OPTIONS
+.TP
+.BR \-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.
+.TP
+.B \-\-help
+Show the usage message and exit.
+.TP
+.B \-\-version
+Show the version and exit.
+.
+.SH ENVIRONMENT
+.TP
+.B DPKG_COLORS
+Sets the color mode (since dpkg 1.18.5).
+The currently accepted values are: \fBauto\fP (default), \fBalways\fP and
+\fBnever\fP.
+.TP
+.B 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\fP and \fB1\fP (default).
+.
+.SH LIMITATIONS
+.P
+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
+.P
+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\fP or \fB~/.gitconfig\fP:
+.P
+ [merge "dpkg\-mergechangelogs"]
+ name = debian/changelog merge driver
+ driver = dpkg\-mergechangelogs \-m %O %A %B %A
+.P
+Then you have to setup the merge attribute for the debian/changelog file
+either in \fB.gitattributes\fP in the repository itself, or in
+\fB.git/info/attributes\fP:
+.P
+ debian/changelog merge=dpkg\-mergechangelogs