aboutsummaryrefslogtreecommitdiff
path: root/debian/scripts/misc/retag
diff options
context:
space:
mode:
Diffstat (limited to 'debian/scripts/misc/retag')
-rwxr-xr-xdebian/scripts/misc/retag34
1 files changed, 34 insertions, 0 deletions
diff --git a/debian/scripts/misc/retag b/debian/scripts/misc/retag
new file mode 100755
index 00000000000..94cf169a076
--- /dev/null
+++ b/debian/scripts/misc/retag
@@ -0,0 +1,34 @@
+#!/usr/bin/perl -w
+
+open(TAGS, "git tag -l |") or die "Could not get list of tags";
+@tags = <TAGS>;
+close(TAGS);
+
+open(LOGS, "git log --pretty=short |") or die "ERROR: Calling git log";
+my $commit = "";
+
+while (<LOGS>) {
+ my $origtag;
+
+ if (m|^commit (.*)$|) {
+ $commit = $1;
+ next;
+ }
+
+ m|\s*UBUNTU: (Ubuntu-2\.6\..*)| or next;
+
+ $tag = $1;
+
+ ($origtag) = grep(/^$tag.orig$/, @tags);
+
+ if (!defined($origtag)) {
+ print "I: Adding original tag for $tag\n";
+ system("git tag -m $tag $tag.orig $tag");
+ }
+
+ print "I: Tagging $tag => $commit\n";
+
+ system("git tag -f -m $tag $tag $commit");
+}
+
+close(LOGS);