summaryrefslogtreecommitdiff
path: root/debian/merge-snapshot
diff options
context:
space:
mode:
Diffstat (limited to 'debian/merge-snapshot')
-rwxr-xr-xdebian/merge-snapshot32
1 files changed, 32 insertions, 0 deletions
diff --git a/debian/merge-snapshot b/debian/merge-snapshot
new file mode 100755
index 00000000000..94242babedf
--- /dev/null
+++ b/debian/merge-snapshot
@@ -0,0 +1,32 @@
+#!/usr/bin/perl
+
+# after running this script and installing and testing the package,
+# can use rebuild-for-athena script
+
+use 5.028;
+use strict;
+use warnings;
+
+use Cwd;
+use Git::Wrapper;
+
+my $to_merge = "origin/master";
+
+my $git = Git::Wrapper->new(getcwd);
+
+chomp(my $prev_version = `dpkg-parsechangelog -SVersion`);
+chomp(my $prev_distn = `dpkg-parsechangelog -SDistribution`);
+
+my ($prev_date, $prev_rev) = ($prev_version =~ /git([0-9]+).([0-9]+)/);
+my ($new_date) = $git->show("-s", { format => "%ci" }, $to_merge);
+$new_date =~ /\A([0-9]{4})-([0-9]{2})-([0-9]{2})/
+ or die "couldn't parse new commit committer date";
+$new_date = $1 . $2 . $3;
+my $new_rev = $prev_date eq $new_date ? $prev_rev + 1 : 1;
+
+$git->merge($to_merge);
+
+system "dch", "-v28~git${new_date}.${new_rev}",
+ $prev_distn eq "UNRELEASED" ? "" : "Package git snapshot.";
+$git->add("debian/changelog");
+$git->commit({ message => "changelog" });