1dpkg-mergechangelogs(1) dpkg suite dpkg-mergechangelogs(1)
2
3
4
6 dpkg-mergechangelogs - 3-way merge of debian/changelog files
7
9 dpkg-mergechangelogs [option...] old new-a new-b [out]
10
12 This program will use the 3 provided versions of the Debian changelog
13 to generate a merged changelog file. The resulting changelog is stored
14 in the file out or output to the standard output if that parameter is
15 not given.
16
17 Each entry is identified by its version number and they are assumed to
18 be not conflicting, they are simply merged in the right order (by
19 decreasing version number). When --merge-prereleases is used, the part
20 of the version number after the last tilde is dropped so that
21 1.0-1~exp1 and 1.0-1~exp5 are considered to be the same entry. When the
22 same version is available in both new-a and new-b, a standard line-
23 based 3-way merge is attempted (provided that the module
24 Algorithm::Merge is available — it's part of the package
25 libalgorithm-merge-perl — otherwise you get a global conflict on the
26 content of the entry).
27
29 -m, --merge-prereleases
30 Drop the part after the last tilde in the version number when
31 doing version comparison to identify if two entries are supposed
32 to be the same or not.
33
34 This is useful when you keep using the same changelog entry but
35 you increase its version number regularly. For instance, you
36 might have 2.3-1~exp1, 2.3-1~exp2, ... until the official
37 release 2.3-1 and they are all the same changelog entry that has
38 evolved over time.
39
40 --help Show the usage message and exit.
41
42 --version
43 Show the version and exit.
44
46 Anything that is not parsed by Dpkg::Changelog is lost during the
47 merge. This might include stuff like vim modelines, comments which
48 were not supposed to be there, etc.
49
51 If you want to use this program to merge Debian changelog files in a
52 git repository, you have first to register a new merge driver in
53 .git/config or ~/.gitconfig:
54
55 [merge "dpkg-mergechangelogs"]
56 name = debian/changelog merge driver
57 driver = dpkg-mergechangelogs -m %O %A %B %A
58
59 Then you have to setup the merge attribute for the debian/changelog
60 file either in .gitattributes in the repository itself, or in
61 .git/info/attributes:
62
63 debian/changelog merge=dpkg-mergechangelogs
64
65
66
671.18.25 2018-06-26 dpkg-mergechangelogs(1)