aboutsummaryrefslogtreecommitdiff
path: root/debian/scripts/misc/retag
blob: 94cf169a07690213fa01e3a50e338831dd2f243b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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);