Blob Blame History Raw
#!/usr/bin/perl -w
use strict;
our $tmpgit;
our $mappedpkg;
my $pkg=shift;
my $first=lc(substr($pkg, 0, 1));

{
die "usage: $0 PKGNAME" unless $pkg;
die "invalid pkg" if $pkg =~ m/[^a-zA-Z0-9._+-]/;

my @rsync=qw"rsync -a
  --max-size=999000k
  --exclude=DELETED
  --exclude=.osc
  --delete
  --delete-missing-args
  --delete-excluded";
system(@rsync, "/mounts/work/SRC/openSUSE\:Factory/$pkg", "in/");
die "rsync of $pkg failed" unless $? == 0;
$tmpgit = ".tmp-$pkg-git";
$mappedpkg=(glob("packages/$first*/$pkg"))[0];
if($mappedpkg) {
    rename("$mappedpkg/.git", $tmpgit);
    system(qw"rm -rf", $mappedpkg);
} elsif(1) {
    system("scripts/pagure-new-package", $pkg);
    system(qw"git clone", "https://code.opensuse.org/package/$pkg.git", $tmpgit);
    system("mv", <$tmpgit/.git/*>, $tmpgit); # move one level up
    rmdir("$tmpgit/.git");
}
$ENV{PKG}=$pkg;
}
do("./scripts/mappkgs.pl");
$mappedpkg=(glob("packages/$first*/$pkg"))[0];
system "git add $mappedpkg";
rename($tmpgit, "$mappedpkg/.git") or
    system(qw'rm -rf', $tmpgit);