| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- .\" 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 "2011-08-14" "Debian Project" "dpkg suite"
- .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 \[em] it's part of the package
- libalgorithm\-merge\-perl \[em] otherwise you get a global conflict on the
- content of the entry).
- .
- .SH OPTIONS
- .TP
- .BR \-\-merge\-prereleases ", " \-m
- 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 LIMITATIONS
- .P
- 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.
- .
- .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
|