1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-23 00:43:28 +00:00

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.
This commit is contained in:
Chris Rees 2012-09-16 13:31:39 +00:00
parent c50d41b654
commit 028474b3d4
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=304348

View File

@ -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 (/^ +\<port\>$category\/$portname\<removed_date\>([^<]*)/) {
$previous_incarnation = $1;
$previous_incarnation =~ s,/,-,g;
if (/^ +\<port\>$category\/$portname(?:\<removed_revision\>r([0-9]*)\<\/removed_revision\>)?\<removed_date\>([^<]*)/) {
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`);