Package: devscripts
Version: 2.10.18.1
Severity: wishlist
Tags: patch
In Mercurial (maybe in other VCS too, I have not testing), releasing
and tagging causes redundant log entries:
changeset: 8:10f3abb9601e
tag: tip
user: François-Denis Gonthier <[EMAIL PROTECTED]>
date: Mon Mar 10 14:59:39 2008 -0400
summary: tagging version debian-2.4.4-4
changeset: 7:d0c559110c6d
tag: debian-2.4.4-4
parent: 1:894f7eefbe46
user: François-Denis Gonthier <[EMAIL PROTECTED]>
date: Mon Mar 10 14:59:39 2008 -0400
summary: releasing version 2.4.4-4
That is caused by debcommit overriding the commit message with the
"releasing version [...]" message even if there are some new content
in the debian changelog.
I would obviously prefer this kind of log entry:
changeset: 8:3afeab7781b2
tag: tip
user: François-Denis Gonthier <[EMAIL PROTECTED]>
date: Mon Mar 10 15:04:38 2008 -0400
summary: tagging version debian-2.4.4-4
changeset: 7:10286bcae9db
tag: debian-2.4.4-4
parent: 1:894f7eefbe46
user: François-Denis Gonthier <[EMAIL PROTECTED]>
date: Mon Mar 10 15:04:38 2008 -0400
summary: * Blarg.
This problem can be worked around by calling debcommit without -r and
then debcommit with -r, but I still believe the behavior of having
redundant log entries is wrong.
I have provided a small and probably incomplete patch to illustrate
what I feel is a more acceptable behavior.
-- Package-specific info:
--- /etc/devscripts.conf ---
--- ~/.devscripts ---
DEBSIGN_KEYID=C181A636
DEBUILD_ROOTCMD=fakeroot
-- System Information:
Debian Release: lenny/sid
APT prefers oldstable
APT policy: (500, 'oldstable'), (500, 'unstable'), (500, 'stable'), (1,
'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.23.9systemtap-moka0 (PREEMPT)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages devscripts depends on:
ii debianutils 2.28.4 Miscellaneous utilities specific t
ii dpkg-dev 1.14.16.6 package building tools for Debian
ii libc6 2.7-9 GNU C Library: Shared libraries
ii perl 5.8.8-12 Larry Wall's Practical Extraction
ii sed 4.1.5-6 The GNU sed stream editor
Versions of packages devscripts recommends:
ii fakeroot 1.9.3 Gives a fake root environment
-- no debconf information
Index: scripts/debcommit.pl
===================================================================
--- scripts/debcommit.pl (revision 1118)
+++ scripts/debcommit.pl (working copy)
@@ -173,6 +173,7 @@
}
my $release=0;
+my $release_message = 0;
my $message;
my $noact=0;
my $diffmode=0;
@@ -238,6 +239,7 @@
Getopt::Long::Configure("bundling");
if (! GetOptions(
"r|release" => \$release,
+ "R|release" => \$release_message,
"m|message=s" => \$message,
"n|noact" => \$noact,
"d|diff" => \$diffmode,
@@ -263,7 +265,7 @@
die "debcommit: cannot find $changelog\n";
}
-if ($release) {
+if ($release || $release_message) {
open (C, "<$changelog" ) || die "debcommit: cannot read $changelog: $!";
my $top=<C>;
if ($top=~/UNRELEASED/) {
@@ -274,7 +276,14 @@
my $version=`dpkg-parsechangelog | grep '^Version:' | cut -f 2 -d ' '`;
chomp $version;
- $message="releasing version $version" if ! defined $message;
+ # Use the message from the changelog.
+ if ($release_message && !defined($message)) {
+ $message = getmessage();
+ }
+ # Use the default release message.
+ elsif (!defined($message)) {
+ $message = "releasing version $version";
+ }
commit($message);
tag($version);
}