The following commit has been merged in the master branch:
commit 70a1ad8cb672e6e9ef96c694d275ff040fe39ecc
Author: Raphaël Hertzog <[email protected]>
Date: Mon Apr 19 10:52:46 2010 +0200
dpkg-mergechangelogs: add non-regression tests
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index 16ffc6f..ca8a849 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -183,7 +183,8 @@ test_cases = \
t/750_Dpkg_Substvars.t \
t/800_Dpkg_IPC.t \
t/850_Dpkg_Compression.t \
- t/900_update_alternatives.t
+ t/900_update_alternatives.t \
+ t/910_merge_changelogs.t
check_DATA = \
$(test_tmpdir)/200_Dpkg_Shlibs/objdump.basictags-amd64 \
@@ -218,7 +219,14 @@ test_data = \
t/600_Dpkg_Changelog/regressions \
t/600_Dpkg_Changelog/shadow \
t/700_Dpkg_Control/control-1 \
- t/750_Dpkg_Substvars/substvars1
+ t/750_Dpkg_Substvars/substvars1 \
+ t/910_merge_changelogs/ch-old \
+ t/910_merge_changelogs/ch-a \
+ t/910_merge_changelogs/ch-b \
+ t/910_merge_changelogs/ch-merged \
+ t/910_merge_changelogs/ch-merged-basic \
+ t/910_merge_changelogs/ch-merged-pr \
+ t/910_merge_changelogs/ch-merged-pr-basic
clean-local:
rm -fr man
diff --git a/scripts/t/910_merge_changelogs.t b/scripts/t/910_merge_changelogs.t
new file mode 100644
index 0000000..0ca01af
--- /dev/null
+++ b/scripts/t/910_merge_changelogs.t
@@ -0,0 +1,58 @@
+# -*- mode: cperl;-*-
+#
+# This program 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 program 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 <http://www.gnu.org/licenses/>.
+
+use Dpkg::IPC;
+use File::Spec;
+use Test::More;
+use File::Compare;
+use File::Temp qw(tempfile);
+
+use strict;
+use warnings;
+
+plan tests => 2;
+
+my $srcdir = $ENV{srcdir} || '.';
+my $datadir = "$srcdir/t/910_merge_changelogs";
+
+my $res;
+sub test_merge {
+ my ($expected_file, @options) = @_;
+ my ($fh, $filename) = tempfile();
+ spawn(exec => ["$srcdir/dpkg-mergechangelogs.pl", @options],
+ to_handle => $fh, wait_child => 1, nocheck => 1);
+ my $res = compare($expected_file, $filename);
+ if ($res) {
+ system("diff -u $expected_file $filename >&2");
+ }
+ ok($res == 0, "merged changelog matches expected one ($expected_file)");
+ unlink($filename);
+}
+
+my $has_alg_merge = 1;
+eval 'use Algorithm::Merge;';
+if ($@) {
+ $has_alg_merge = 0;
+}
+
+my @input = ("$datadir/ch-old", "$datadir/ch-a", "$datadir/ch-b");
+if ($has_alg_merge) {
+ test_merge("$datadir/ch-merged", @input);
+ test_merge("$datadir/ch-merged-pr", "-m", @input);
+} else {
+ test_merge("$datadir/ch-merged-basic", @input);
+ test_merge("$datadir/ch-merged-pr-basic", "-m", @input);
+}
+
diff --git a/scripts/t/910_merge_changelogs/ch-a
b/scripts/t/910_merge_changelogs/ch-a
new file mode 100644
index 0000000..02dad93
--- /dev/null
+++ b/scripts/t/910_merge_changelogs/ch-a
@@ -0,0 +1,92 @@
+test (2.0-1) unstable; urgency=low
+
+ * Version B with 2.0-1~exp3 contains only up to line 3 while version A
+ with 2.0-1 contains the 5 lines. The resulting version should have the
+ 5 lines without conflict with Algorithm::Merge and a conflict without.
+ * Line 1.
+ * Line 2.
+ * Line 3.
+ * Line 4.
+ * Line 5.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:23:09 +0200
+
+test (1.2-2) unstable; urgency=low
+
+ * This is the last entry in changelog O.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:18:50 +0200
+
+test (1.2-1) unstable; urgency=low
+
+ * This entry should not have conflicts with Algorithm::Merge installed.
+ * Changelog B should a have supplementary line above this one.
+ * Pi is 3.14 is true for all changelogs.
+ * Changelog A should have a supplementary line
+ somewhere in this sub-list
+ - The weather is nice
+ - Really no clouds in the sky
+ - Yet I'm hacking on dpkg
+ - What does that mean about me?
+ * This line should be shared but the next one is dropped in B only.
+ * If I'm here it's because the changelog is not B (I should not appear
+ in the resulting changelog).
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:09:07 +0200
+
+test (1.1-1+conflict2) unstable; urgency=low
+
+ * This entry has a conflict on the next line.
+ * I'm in changelog A.
+ * This line is the same in all 3 versions.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:07:40 +0200
+
+test (1.1-1+conflict1) experimental; urgency=low
+
+ * This entry has conflicts on the header line: A wants distribution
+ experimental (instead of unstable) and B wants urgency=high (instead
+ of low).
+ * But it also has a conflict on the trailer line. A changed the
+ timestamp to 18:05:00 and B to 18:06:00.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:05:00 +0200
+
+test (1.1-1+change2) unstable; urgency=low
+
+ * This entry is everywhere but the last line is different in A. The
+ merged version should have what's in A. Furthermore the timestamp in
+ B is set to 17:55:00, it should also be picked up.
+ * I'm definitely in changelog A.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:54:52 +0200
+
+test (1.1-1+change1) unstable; urgency=high
+
+ * This entry is everywhere but the last line is different in B. The
+ merged version should have what's in B. Furthermore the urgency in
+ A is set to high, it should also be picked up.
+ * I'm not in changelog B.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:50:58 +0200
+
+test (1.0-3+a) experimental; urgency=low
+
+ * This entry is present in A only. It's considered new and should thus
+ be in the merged changelog.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:44:39 +0200
+
+test (1.0-2) unstable; urgency=low
+
+ * This entry is dropped in B only.
+ * Since it's in O and A, it should not appear in the result.
+ * Pi is 3.14.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:39:15 +0200
+
+test (1.0-1) unstable; urgency=low
+
+ * Initial release. (Closes: #XXXXXX)
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:37:46 +0200
diff --git a/scripts/t/910_merge_changelogs/ch-b
b/scripts/t/910_merge_changelogs/ch-b
new file mode 100644
index 0000000..6ea0178
--- /dev/null
+++ b/scripts/t/910_merge_changelogs/ch-b
@@ -0,0 +1,87 @@
+test (2.0-1~exp3) unstable; urgency=low
+
+ * Version B with 2.0-1~exp3 contains only up to line 3 while version A
+ with 2.0-1 contains the 5 lines. The resulting version should have the
+ 5 lines without conflict with Algorithm::Merge and a conflict without.
+ * Line 1.
+ * Line 2.
+ * Line 3.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:23:09 +0200
+
+test (1.2-2) unstable; urgency=low
+
+ * This is the last entry in changelog O.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:18:50 +0200
+
+test (1.2-1) unstable; urgency=low
+
+ * This entry should not have conflicts with Algorithm::Merge installed.
+ * I'm the added line mentionned below (B-only).
+ * Changelog B should a have supplementary line above this one.
+ * Pi is 3.14 is true for all changelogs.
+ * Changelog A should have a supplementary line
+ somewhere in this sub-list
+ - The weather is nice
+ - Yet I'm hacking on dpkg
+ - What does that mean about me?
+ * This line should be shared but the next one is dropped in B only.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:09:07 +0200
+
+test (1.1-1+conflict2) unstable; urgency=low
+
+ * This entry has a conflict on the next line.
+ * I'm in changelog B.
+ * This line is the same in all 3 versions.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:07:40 +0200
+
+test (1.1-1+conflict1) unstable; urgency=high
+
+ * This entry has conflicts on the header line: A wants distribution
+ experimental (instead of unstable) and B wants urgency=high (instead
+ of low).
+ * But it also has a conflict on the trailer line. A changed the
+ timestamp to 18:05:00 and B to 18:06:00.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:06:00 +0200
+
+test (1.1-1+change2) unstable; urgency=low
+
+ * This entry is everywhere but the last line is different in A. The
+ merged version should have what's in A. Furthermore the timestamp in
+ B is set to 17:55:00, it should also be picked up.
+ * I'm not in changelog A.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:54:52 +0200
+
+test (1.1-1+change1) unstable; urgency=low
+
+ * This entry is everywhere but the last line is different in B. The
+ merged version should have what's in B. Furthermore the urgency in
+ A is set to high, it should also be picked up.
+ * I'm definitely in changelog B.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:50:58 +0200
+
+test (1.0-3+b) experimental; urgency=low
+
+ * This entry is present in B only. It's considered new and should thus
+ be in the merged changelog.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:47:38 +0200
+
+test (1.0-3) unstable; urgency=low
+
+ * This entry is dropped in A only.
+ * Since it's in O and B, it should not appear in the result.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:41:31 +0200
+
+test (1.0-1) unstable; urgency=low
+
+ * Initial release. (Closes: #XXXXXX)
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:37:46 +0200
diff --git a/scripts/t/910_merge_changelogs/ch-merged
b/scripts/t/910_merge_changelogs/ch-merged
new file mode 100644
index 0000000..d18460a
--- /dev/null
+++ b/scripts/t/910_merge_changelogs/ch-merged
@@ -0,0 +1,113 @@
+test (2.0-1) unstable; urgency=low
+
+ * Version B with 2.0-1~exp3 contains only up to line 3 while version A
+ with 2.0-1 contains the 5 lines. The resulting version should have the
+ 5 lines without conflict with Algorithm::Merge and a conflict without.
+ * Line 1.
+ * Line 2.
+ * Line 3.
+ * Line 4.
+ * Line 5.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:23:09 +0200
+
+test (2.0-1~exp3) unstable; urgency=low
+
+ * Version B with 2.0-1~exp3 contains only up to line 3 while version A
+ with 2.0-1 contains the 5 lines. The resulting version should have the
+ 5 lines without conflict with Algorithm::Merge and a conflict without.
+ * Line 1.
+ * Line 2.
+ * Line 3.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:23:09 +0200
+
+test (1.2-2) unstable; urgency=low
+
+ * This is the last entry in changelog O.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:18:50 +0200
+
+test (1.2-1) unstable; urgency=low
+
+ * This entry should not have conflicts with Algorithm::Merge installed.
+ * I'm the added line mentionned below (B-only).
+ * Changelog B should a have supplementary line above this one.
+ * Pi is 3.14 is true for all changelogs.
+ * Changelog A should have a supplementary line
+ somewhere in this sub-list
+ - The weather is nice
+ - Really no clouds in the sky
+ - Yet I'm hacking on dpkg
+ - What does that mean about me?
+ * This line should be shared but the next one is dropped in B only.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:09:07 +0200
+
+test (1.1-1+conflict2) unstable; urgency=low
+
+ * This entry has a conflict on the next line.
+<<<<<<
+ * I'm in changelog A.
+======
+ * I'm in changelog B.
+>>>>>>
+ * This line is the same in all 3 versions.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:07:40 +0200
+
+<<<<<<
+test (1.1-1+conflict1) experimental; urgency=low
+======
+test (1.1-1+conflict1) unstable; urgency=high
+>>>>>>
+
+ * This entry has conflicts on the header line: A wants distribution
+ experimental (instead of unstable) and B wants urgency=high (instead
+ of low).
+ * But it also has a conflict on the trailer line. A changed the
+ timestamp to 18:05:00 and B to 18:06:00.
+
+<<<<<<
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:05:00 +0200
+======
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:06:00 +0200
+>>>>>>
+
+test (1.1-1+change2) unstable; urgency=low
+
+ * This entry is everywhere but the last line is different in A. The
+ merged version should have what's in A. Furthermore the timestamp in
+ B is set to 17:55:00, it should also be picked up.
+ * I'm definitely in changelog A.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:54:52 +0200
+
+test (1.1-1+change1) unstable; urgency=high
+
+ * This entry is everywhere but the last line is different in B. The
+ merged version should have what's in B. Furthermore the urgency in
+ A is set to high, it should also be picked up.
+ * I'm definitely in changelog B.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:50:58 +0200
+
+test (1.0-3+b) experimental; urgency=low
+
+ * This entry is present in B only. It's considered new and should thus
+ be in the merged changelog.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:47:38 +0200
+
+test (1.0-3+a) experimental; urgency=low
+
+ * This entry is present in A only. It's considered new and should thus
+ be in the merged changelog.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:44:39 +0200
+
+test (1.0-1) unstable; urgency=low
+
+ * Initial release. (Closes: #XXXXXX)
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:37:46 +0200
diff --git a/scripts/t/910_merge_changelogs/ch-merged-basic
b/scripts/t/910_merge_changelogs/ch-merged-basic
new file mode 100644
index 0000000..527f558
--- /dev/null
+++ b/scripts/t/910_merge_changelogs/ch-merged-basic
@@ -0,0 +1,136 @@
+test (2.0-1) unstable; urgency=low
+
+ * Version B with 2.0-1~exp3 contains only up to line 3 while version A
+ with 2.0-1 contains the 5 lines. The resulting version should have the
+ 5 lines without conflict with Algorithm::Merge and a conflict without.
+ * Line 1.
+ * Line 2.
+ * Line 3.
+ * Line 4.
+ * Line 5.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:23:09 +0200
+
+test (2.0-1~exp3) unstable; urgency=low
+
+ * Version B with 2.0-1~exp3 contains only up to line 3 while version A
+ with 2.0-1 contains the 5 lines. The resulting version should have the
+ 5 lines without conflict with Algorithm::Merge and a conflict without.
+ * Line 1.
+ * Line 2.
+ * Line 3.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:23:09 +0200
+
+test (1.2-2) unstable; urgency=low
+
+ * This is the last entry in changelog O.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:18:50 +0200
+
+test (1.2-1) unstable; urgency=low
+
+<<<<<<
+ * This entry should not have conflicts with Algorithm::Merge installed.
+ * Changelog B should a have supplementary line above this one.
+ * Pi is 3.14 is true for all changelogs.
+ * Changelog A should have a supplementary line
+ somewhere in this sub-list
+ - The weather is nice
+ - Really no clouds in the sky
+ - Yet I'm hacking on dpkg
+ - What does that mean about me?
+ * This line should be shared but the next one is dropped in B only.
+ * If I'm here it's because the changelog is not B (I should not appear
+ in the resulting changelog).
+======
+ * This entry should not have conflicts with Algorithm::Merge installed.
+ * I'm the added line mentionned below (B-only).
+ * Changelog B should a have supplementary line above this one.
+ * Pi is 3.14 is true for all changelogs.
+ * Changelog A should have a supplementary line
+ somewhere in this sub-list
+ - The weather is nice
+ - Yet I'm hacking on dpkg
+ - What does that mean about me?
+ * This line should be shared but the next one is dropped in B only.
+>>>>>>
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:09:07 +0200
+
+test (1.1-1+conflict2) unstable; urgency=low
+
+<<<<<<
+ * This entry has a conflict on the next line.
+ * I'm in changelog A.
+ * This line is the same in all 3 versions.
+======
+ * This entry has a conflict on the next line.
+ * I'm in changelog B.
+ * This line is the same in all 3 versions.
+>>>>>>
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:07:40 +0200
+
+<<<<<<
+test (1.1-1+conflict1) experimental; urgency=low
+======
+test (1.1-1+conflict1) unstable; urgency=high
+>>>>>>
+
+ * This entry has conflicts on the header line: A wants distribution
+ experimental (instead of unstable) and B wants urgency=high (instead
+ of low).
+ * But it also has a conflict on the trailer line. A changed the
+ timestamp to 18:05:00 and B to 18:06:00.
+
+<<<<<<
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:05:00 +0200
+======
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:06:00 +0200
+>>>>>>
+
+test (1.1-1+change2) unstable; urgency=low
+
+ * This entry is everywhere but the last line is different in A. The
+ merged version should have what's in A. Furthermore the timestamp in
+ B is set to 17:55:00, it should also be picked up.
+ * I'm definitely in changelog A.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:54:52 +0200
+
+test (1.1-1+change1) unstable; urgency=high
+
+<<<<<<
+ * This entry is everywhere but the last line is different in B. The
+ merged version should have what's in B. Furthermore the urgency in
+ A is set to high, it should also be picked up.
+ * I'm not in changelog B.
+======
+ * This entry is everywhere but the last line is different in B. The
+ merged version should have what's in B. Furthermore the urgency in
+ A is set to high, it should also be picked up.
+ * I'm definitely in changelog B.
+>>>>>>
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:50:58 +0200
+
+test (1.0-3+b) experimental; urgency=low
+
+ * This entry is present in B only. It's considered new and should thus
+ be in the merged changelog.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:47:38 +0200
+
+test (1.0-3+a) experimental; urgency=low
+
+ * This entry is present in A only. It's considered new and should thus
+ be in the merged changelog.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:44:39 +0200
+
+test (1.0-1) unstable; urgency=low
+
+ * Initial release. (Closes: #XXXXXX)
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:37:46 +0200
diff --git a/scripts/t/910_merge_changelogs/ch-merged-pr
b/scripts/t/910_merge_changelogs/ch-merged-pr
new file mode 100644
index 0000000..7534515
--- /dev/null
+++ b/scripts/t/910_merge_changelogs/ch-merged-pr
@@ -0,0 +1,106 @@
+<<<<<<
+test (2.0-1) unstable; urgency=low
+======
+test (2.0-1~exp3) unstable; urgency=low
+>>>>>>
+
+ * Version B with 2.0-1~exp3 contains only up to line 3 while version A
+ with 2.0-1 contains the 5 lines. The resulting version should have the
+ 5 lines without conflict with Algorithm::Merge and a conflict without.
+ * Line 1.
+ * Line 2.
+ * Line 3.
+ * Line 4.
+ * Line 5.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:23:09 +0200
+
+test (1.2-2) unstable; urgency=low
+
+ * This is the last entry in changelog O.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:18:50 +0200
+
+test (1.2-1) unstable; urgency=low
+
+ * This entry should not have conflicts with Algorithm::Merge installed.
+ * I'm the added line mentionned below (B-only).
+ * Changelog B should a have supplementary line above this one.
+ * Pi is 3.14 is true for all changelogs.
+ * Changelog A should have a supplementary line
+ somewhere in this sub-list
+ - The weather is nice
+ - Really no clouds in the sky
+ - Yet I'm hacking on dpkg
+ - What does that mean about me?
+ * This line should be shared but the next one is dropped in B only.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:09:07 +0200
+
+test (1.1-1+conflict2) unstable; urgency=low
+
+ * This entry has a conflict on the next line.
+<<<<<<
+ * I'm in changelog A.
+======
+ * I'm in changelog B.
+>>>>>>
+ * This line is the same in all 3 versions.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:07:40 +0200
+
+<<<<<<
+test (1.1-1+conflict1) experimental; urgency=low
+======
+test (1.1-1+conflict1) unstable; urgency=high
+>>>>>>
+
+ * This entry has conflicts on the header line: A wants distribution
+ experimental (instead of unstable) and B wants urgency=high (instead
+ of low).
+ * But it also has a conflict on the trailer line. A changed the
+ timestamp to 18:05:00 and B to 18:06:00.
+
+<<<<<<
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:05:00 +0200
+======
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:06:00 +0200
+>>>>>>
+
+test (1.1-1+change2) unstable; urgency=low
+
+ * This entry is everywhere but the last line is different in A. The
+ merged version should have what's in A. Furthermore the timestamp in
+ B is set to 17:55:00, it should also be picked up.
+ * I'm definitely in changelog A.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:54:52 +0200
+
+test (1.1-1+change1) unstable; urgency=high
+
+ * This entry is everywhere but the last line is different in B. The
+ merged version should have what's in B. Furthermore the urgency in
+ A is set to high, it should also be picked up.
+ * I'm definitely in changelog B.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:50:58 +0200
+
+test (1.0-3+b) experimental; urgency=low
+
+ * This entry is present in B only. It's considered new and should thus
+ be in the merged changelog.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:47:38 +0200
+
+test (1.0-3+a) experimental; urgency=low
+
+ * This entry is present in A only. It's considered new and should thus
+ be in the merged changelog.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:44:39 +0200
+
+test (1.0-1) unstable; urgency=low
+
+ * Initial release. (Closes: #XXXXXX)
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:37:46 +0200
diff --git a/scripts/t/910_merge_changelogs/ch-merged-pr-basic
b/scripts/t/910_merge_changelogs/ch-merged-pr-basic
new file mode 100644
index 0000000..552f7ac
--- /dev/null
+++ b/scripts/t/910_merge_changelogs/ch-merged-pr-basic
@@ -0,0 +1,138 @@
+<<<<<<
+test (2.0-1) unstable; urgency=low
+======
+test (2.0-1~exp3) unstable; urgency=low
+>>>>>>
+
+<<<<<<
+ * Version B with 2.0-1~exp3 contains only up to line 3 while version A
+ with 2.0-1 contains the 5 lines. The resulting version should have the
+ 5 lines without conflict with Algorithm::Merge and a conflict without.
+ * Line 1.
+ * Line 2.
+ * Line 3.
+ * Line 4.
+ * Line 5.
+======
+ * Version B with 2.0-1~exp3 contains only up to line 3 while version A
+ with 2.0-1 contains the 5 lines. The resulting version should have the
+ 5 lines without conflict with Algorithm::Merge and a conflict without.
+ * Line 1.
+ * Line 2.
+ * Line 3.
+>>>>>>
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:23:09 +0200
+
+test (1.2-2) unstable; urgency=low
+
+ * This is the last entry in changelog O.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:18:50 +0200
+
+test (1.2-1) unstable; urgency=low
+
+<<<<<<
+ * This entry should not have conflicts with Algorithm::Merge installed.
+ * Changelog B should a have supplementary line above this one.
+ * Pi is 3.14 is true for all changelogs.
+ * Changelog A should have a supplementary line
+ somewhere in this sub-list
+ - The weather is nice
+ - Really no clouds in the sky
+ - Yet I'm hacking on dpkg
+ - What does that mean about me?
+ * This line should be shared but the next one is dropped in B only.
+ * If I'm here it's because the changelog is not B (I should not appear
+ in the resulting changelog).
+======
+ * This entry should not have conflicts with Algorithm::Merge installed.
+ * I'm the added line mentionned below (B-only).
+ * Changelog B should a have supplementary line above this one.
+ * Pi is 3.14 is true for all changelogs.
+ * Changelog A should have a supplementary line
+ somewhere in this sub-list
+ - The weather is nice
+ - Yet I'm hacking on dpkg
+ - What does that mean about me?
+ * This line should be shared but the next one is dropped in B only.
+>>>>>>
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:09:07 +0200
+
+test (1.1-1+conflict2) unstable; urgency=low
+
+<<<<<<
+ * This entry has a conflict on the next line.
+ * I'm in changelog A.
+ * This line is the same in all 3 versions.
+======
+ * This entry has a conflict on the next line.
+ * I'm in changelog B.
+ * This line is the same in all 3 versions.
+>>>>>>
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:07:40 +0200
+
+<<<<<<
+test (1.1-1+conflict1) experimental; urgency=low
+======
+test (1.1-1+conflict1) unstable; urgency=high
+>>>>>>
+
+ * This entry has conflicts on the header line: A wants distribution
+ experimental (instead of unstable) and B wants urgency=high (instead
+ of low).
+ * But it also has a conflict on the trailer line. A changed the
+ timestamp to 18:05:00 and B to 18:06:00.
+
+<<<<<<
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:05:00 +0200
+======
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:06:00 +0200
+>>>>>>
+
+test (1.1-1+change2) unstable; urgency=low
+
+ * This entry is everywhere but the last line is different in A. The
+ merged version should have what's in A. Furthermore the timestamp in
+ B is set to 17:55:00, it should also be picked up.
+ * I'm definitely in changelog A.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:54:52 +0200
+
+test (1.1-1+change1) unstable; urgency=high
+
+<<<<<<
+ * This entry is everywhere but the last line is different in B. The
+ merged version should have what's in B. Furthermore the urgency in
+ A is set to high, it should also be picked up.
+ * I'm not in changelog B.
+======
+ * This entry is everywhere but the last line is different in B. The
+ merged version should have what's in B. Furthermore the urgency in
+ A is set to high, it should also be picked up.
+ * I'm definitely in changelog B.
+>>>>>>
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:50:58 +0200
+
+test (1.0-3+b) experimental; urgency=low
+
+ * This entry is present in B only. It's considered new and should thus
+ be in the merged changelog.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:47:38 +0200
+
+test (1.0-3+a) experimental; urgency=low
+
+ * This entry is present in A only. It's considered new and should thus
+ be in the merged changelog.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:44:39 +0200
+
+test (1.0-1) unstable; urgency=low
+
+ * Initial release. (Closes: #XXXXXX)
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:37:46 +0200
diff --git a/scripts/t/910_merge_changelogs/ch-old
b/scripts/t/910_merge_changelogs/ch-old
new file mode 100644
index 0000000..12ee224
--- /dev/null
+++ b/scripts/t/910_merge_changelogs/ch-old
@@ -0,0 +1,85 @@
+test (1.2-2) unstable; urgency=low
+
+ * This is the last entry in changelog O.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:18:50 +0200
+
+test (1.2-1) unstable; urgency=low
+
+ * This entry should not have conflicts with Algorithm::Merge installed.
+ * Changelog B should a have supplementary line above this one.
+ * Pi is 3.14 is true for all changelogs.
+ * Changelog A should have a supplementary line
+ somewhere in this sub-list
+ - The weather is nice
+ - Yet I'm hacking on dpkg
+ - What does that mean about me?
+ * This line should be shared but the next one is dropped in B only.
+ * If I'm here it's because the changelog is not B (I should not appear
+ in the resulting changelog).
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:09:07 +0200
+
+test (1.1-1+conflict2) unstable; urgency=low
+
+ * This entry has a conflict on the next line.
+ * I'm in changelog O (old).
+ * This line is the same in all 3 versions.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:07:40 +0200
+
+test (1.1-1+conflict1) unstable; urgency=low
+
+ * This entry has conflicts on the header line: A wants distribution
+ experimental (instead of unstable) and B wants urgency=high (instead
+ of low).
+ * But it also has a conflict on the trailer line. A changed the
+ timestamp to 18:05:00 and B to 18:06:00.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 18:04:18 +0200
+
+test (1.1-1+change2) unstable; urgency=low
+
+ * This entry is everywhere but the last line is different in A. The
+ merged version should have what's in A. Furthermore the timestamp in
+ B is set to 17:55:00, it should also be picked up.
+ * I'm not in changelog A.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:54:52 +0200
+
+test (1.1-1+change1) unstable; urgency=low
+
+ * This entry is everywhere but the last line is different in B. The
+ merged version should have what's in B. Furthermore the urgency in
+ A is set to high, it should also be picked up.
+ * I'm not in changelog B.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:50:58 +0200
+
+test (1.1-0.1) stable; urgency=low
+
+ * This entry is present in O only, it should not appear in the merged
+ changelog.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:49:15 +0200
+
+test (1.0-3) unstable; urgency=low
+
+ * This entry is dropped in A only.
+ * Since it's in O and B, it should not appear in the result.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:41:31 +0200
+
+test (1.0-2) unstable; urgency=low
+
+ * This entry is dropped in B only.
+ * Since it's in O and A, it should not appear in the result.
+ * Pi is 3.14.
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:39:15 +0200
+
+test (1.0-1) unstable; urgency=low
+
+ * Initial release. (Closes: #XXXXXX)
+
+ -- Raphaël Hertzog <[email protected]> Sun, 18 Apr 2010 17:37:46 +0200
--
dpkg's main repository
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]