Author: adam-guest
Date: 2008-03-06 22:12:11 +0000 (Thu, 06 Mar 2008)
New Revision: 1110

Modified:
   trunk/debian/changelog
   trunk/scripts/debchange.pl
Log:
  + If starting a changelog stanza for a new UNRELEASED version, check
    whether the previous stanza is also UNRELEASED and, if so, merge
    them (assuming the "changelog" release heuristic is in use)
    (Closes: #458130)

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog      2008-03-06 20:28:37 UTC (rev 1109)
+++ trunk/debian/changelog      2008-03-06 22:12:11 UTC (rev 1110)
@@ -8,6 +8,10 @@
     + Don't complain about the package version changing from native to
       non-native if --nmu or --security was used
     + Fix an unescaped hyphen in the manpage
+    + If starting a changelog stanza for a new UNRELEASED version, check
+      whether the previous stanza is also UNRELEASED and, if so, merge
+      them (assuming the "changelog" release heuristic is in use)
+      (Closes: #458130)
   * checkbashisms:
     + Use Getopt::Long for option parsing
     + Add an option to force checking of scripts that would normally be

Modified: trunk/scripts/debchange.pl
===================================================================
--- trunk/scripts/debchange.pl  2008-03-06 20:28:37 UTC (rev 1109)
+++ trunk/scripts/debchange.pl  2008-03-06 22:12:11 UTC (rev 1110)
@@ -957,8 +957,29 @@
        print O "  * \n";
     }
     $line += 3;
-    print O "\n -- $MAINTAINER <$EMAIL>  $DATE\n\n";
 
+    if ($opt_release_heuristic eq "changelog" and $changelog{'Distribution'}
+       eq  "UNRELEASED" and $distribution eq "UNRELEASED") {
+
+       # Strip the current header line
+       $CHANGES =~ s/^(\w[-+0-9a-z.]* \([^\(\) 
\t]+\))(?:\s+[-+0-9a-z.]+)+\;\s+urgency=\w+//i;
+       $CHANGES =~ s/^\n*//gs;
+
+       # Include the changes from the previous UNRELEASED version
+       print O $CHANGES;
+       print O "\n -- $MAINTAINER <$EMAIL>  $DATE\n\n";
+       
+       # and skip them in the original changelog
+       my $last = "";
+
+       while (<S>) {
+           last if $last =~ /^ --/;
+           $last = $_;
+       }
+    } else {
+        print O "\n -- $MAINTAINER <$EMAIL>  $DATE\n\n";
+    }
+
     # Copy the old changelog file to the new one
     local $/ = undef;
     print O <S>;


-- 
To unsubscribe, send mail to [EMAIL PROTECTED]

Reply via email to