die with missing old version
[p5sagit/Distar.git] / helpers / bump-version
index af3ecad..5373656 100755 (executable)
@@ -3,14 +3,17 @@
 use strict;
 use warnings FATAL => 'all';
 use File::Find;
-use Getopt::Long qw(:config gnu_compat);
+use Getopt::Long qw(:config gnu_getopt);
 use File::Temp ();
 
 GetOptions(
   "git"     => \my $git,
+  "force"   => \my $force,
 ) or die("Error in command line arguments\n");
 
-my ($old_version, $bump) = @ARGV;
+my $old_version = shift
+  or die "no old version provided!\n";
+my $bump = shift;
 my ($new_decimal, $new_vstring) = bump_version($old_version, $bump);
 
 warn "Bumping $old_version -> $new_decimal\n";
@@ -81,7 +84,7 @@ for my $file (sort keys %files) {
     my $line = $lines[$ln];
     if ($lines[$ln] =~ $re) {
       die "unable to bump version number in $file from $old_version, found $3\n"
-        if $3 ne $old_version;
+        if !$force && $3 ne $old_version;
       my $comment = ($5 ? $5 . $new_vstring : '');
       my $new_line = "$1'$new_decimal'$4$comment$6";
       $file_diff .= <<"END_DIFF";