From 028474b3d4ba185ef1720566e0070398237e1214 Mon Sep 17 00:00:00 2001 From: Chris Rees Date: Sun, 16 Sep 2012 13:31:39 +0000 Subject: Accepts the new svn_revision tag in the removed ports xml database. Apologies for the complexity of the code; it's optimised for speed. Soon I will be able to remove the section working with dates. --- Tools/scripts/addport | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'Tools') diff --git a/Tools/scripts/addport b/Tools/scripts/addport index 07193a2c7b5b..9cabca072693 100755 --- a/Tools/scripts/addport +++ b/Tools/scripts/addport @@ -332,11 +332,17 @@ foreach my $thisdir (@dirs) { my $oldportlist; if ($oldportlist = get('http://people.FreeBSD.org/~crees/removed_ports/index.xml')) { foreach (split("\n", $oldportlist)) { - if (/^ +\$category\/$portname\([^<]*)/) { - $previous_incarnation = $1; - $previous_incarnation =~ s,/,-,g; + if (/^ +\$category\/$portname(?:\r([0-9]*)\<\/removed_revision\>)?\([^<]*)/) { print "Found one!\n"; - print "This port was last alive on $previous_incarnation.\n"; + if ($1 == "") { + $previous_incarnation = $2; + $previous_incarnation =~ s,/,-,g; + print "This port was last alive on $previous_incarnation.\n"; + $previous_incarnation = "\{$previous_incarnation\}"; + } else { + $previous_incarnation = $1 - 1; + print "The last living revision of this port was r$previous_incarnation.\n"; + } last; } } @@ -345,7 +351,7 @@ foreach my $thisdir (@dirs) { } if ($previous_incarnation ne "bogus") { print "Fetching older version... "; - system("svn cp -q '$repo/$category/$portname\@{$previous_incarnation}' ."); + system("svn cp -q '$repo/$category/$portname\@$previous_incarnation' ."); print "[DONE]\n"; print "Removing irrelevant files and directories... "; my @oldfiles = split("\0", `cd $portname && find . -type f -print0`); -- cgit v1.2.3