retitle 442267 [debchange] Allow distribution to be changed non-interactively clone 442267 -1 retitle -1 [debchange] Non-interactive changes add a spurious space to the changelog submitter -1 ! thanks
Hi, On Fri, 2007-09-14 at 16:24 +0100, Adam D. Barratt wrote: > Ondrej Certik wrote, : > [...] > > To change to unstable, I can do this: > > > > dch -r " " > > > > and it works fine. Howeve, when changing back to UNRELEASED, I need > > to do: > > > > dch -D UNRELEASED " " > > > > and it adds a new line with "* " into the changelog. Could this > > behavior be changed? [...] > > Also, it updates the time stamp: > > > > -- Ondrej Certik <[EMAIL PROTECTED]> Fri, 14 Sep 2007 15:53:10 +0200 > > > > is there a way how to make dch not to update the timestamp? > > So long as you don't mind it also not updating the maintainer name (i.e. not > changing that trailer line at all) then there's a fix for #435980 in SVN > (adding -t / --mainttrailer). Having thought about this a little more, the combination of -t and -r doesn't and shouldn't work. The purpose of -r is to update the trailer line, also changing the distribution if relevant. I have committed a further patch (attached) that allows an empty (as opposed to missing) changelog entry on the command line, so that you can use (combining both patches) dch -t -D unstable "" and dch -t -D UNRELEASED "" to achieve your goal of simply updating the distribution. As this was your original request, I've cloned a copy of the bug to handle the "extra space" issue. Apologies for the original misdirecction; hopefully the command lines above give you what were looking for, without inadvertantly breaking the expected functionality of -r. Regards, Adam
Index: scripts/debchange.pl =================================================================== --- scripts/debchange.pl (revision 797) +++ scripts/debchange.pl (working copy) @@ -721,12 +721,18 @@ } } +# Get a possible changelog entry from the command line +my $ARGS=join(' ', @ARGV); +my $TEXT=decode_utf8($ARGS); +my $EMPTY_TEXT=0; -# Get a possible changelog entry from the command line -my $TEXT=decode_utf8(join(' ', @ARGV)); if (@ARGV and ! $TEXT) { - warn "$progname warning: command-line changelog entry not UTF-8 encoded; ignoring\n"; - $TEXT=''; + if ($ARGS) { + warn "$progname warning: command-line changelog entry not UTF-8 encoded; ignoring\n"; + $TEXT=''; + } else { + $EMPTY_TEXT = 1; + } } # Get the date @@ -1051,7 +1057,7 @@ } elsif ($opt_news) { print O "\n \n"; $line++; - } else { + } elsif (!$EMPTY_TEXT) { print O " * \n"; } } @@ -1143,7 +1149,7 @@ } # Now Run the Editor; always run if doing "closes" to give a chance to check -if (! $TEXT or @closes_text or $opt_create) { +if ((!$TEXT and !$EMPTY_TEXT) or @closes_text or $opt_create) { my $mtime = (stat("$changelog_path.dch"))[9]; defined $mtime or fatal "Error getting modification time of temporary $changelog_path: $!";