From 1c0ce4fc8f18af083be0841e0747f49608e0ed5f Mon Sep 17 00:00:00 2001 From: Norman Walsh Date: Sun, 12 May 2002 11:50:28 +0000 Subject: [PATCH] Handle 3-part version numbers --- cvstools/mergechangelogs | 14 +++++++++++++- cvstools/nextversion | 32 ++++++++++++++++++++++++-------- 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/cvstools/mergechangelogs b/cvstools/mergechangelogs index 7fbcfc26a..7a887d940 100755 --- a/cvstools/mergechangelogs +++ b/cvstools/mergechangelogs @@ -134,13 +134,25 @@ sub last_version { die "Cannot find version in VERSION.\n"; } - if ($version =~ /(\d+)\.(\d+)/) { + if ($version =~ /^(\d+)\.(\d+)$/) { my $major = $1; my $minor = $2; $minor--; return "$major.$minor"; + } elsif ($version =~ /^(\d+)\.(\d+)\.(\d+)$/) { + my $major = $1; + my $middle = $2; + my $minor = $3; + + if ($minor == 0) { + die "Can\'t calculate preceding from $version.\n"; + } else { + $minor--; + } + + return "$major.$middle.$minor"; } else { return $version; } diff --git a/cvstools/nextversion b/cvstools/nextversion index 45a8be036..1cb39dcb7 100755 --- a/cvstools/nextversion +++ b/cvstools/nextversion @@ -21,22 +21,38 @@ open (F, 'VERSION') || die "Cannot find VERSION.\n"; read (F, $_, -s 'VERSION'); close (F); -if (/^(.*name=.VERSION.>)(\d+)\.(\d+)\+?(<.*)$/s) { +if (/^(.*name=.VERSION.>)([\.\d]+)\+?(<.*)$/s) { # ok -} elsif (/^(.*?)(\d+)\.(\d+)\+?(.*)$/s) { +} elsif (/^(.*?)([\.\d]+)\+?(.*)$/s) { # ok } else { die "Cannot find version in VERSION.\n"; } my $pre = $1; -my $major = $2; -my $minor = $3; -my $post = $4; - -$minor++; +my $fvers = $2; +my $post = $3; + +my $major = undef; +my $middle = undef; +my $minor = undef; + +if ($fvers =~ /^(\d+)\.(\d+)\.(\d+)$/) { + $major = $1; + $middle = $2; + $minor = $3; + $minor++; + $fvers = "$major.$middle.$minor"; +} elsif ($fvers =~ /^(\d+)\.(\d+)$/) { + $major = $1; + $minor = $2; + $minor++; + $fvers = "$major.$minor"; +} else { + die "Cannot parse version: $fvers\n"; +} -$version = "$major.$minor" if !$version; +$version = "$fvers" if !$version; print "About to release $version; are you sure? "; chop($_ = scalar(<>)); -- 2.40.0