r8889 - /scripts/qa/fetchdata
tincho-guest at users.alioth.debian.org
tincho-guest at users.alioth.debian.org
Tue Nov 6 06:23:58 UTC 2007
Author: tincho-guest
Date: Tue Nov 6 06:23:58 2007
New Revision: 8889
URL: http://svn.debian.org/wsvn/?sc=1&rev=8889
Log:
New commandline option: --only
Modified:
scripts/qa/fetchdata
Modified: scripts/qa/fetchdata
URL: http://svn.debian.org/wsvn/scripts/qa/fetchdata?rev=8889&op=diff
==============================================================================
--- scripts/qa/fetchdata (original)
+++ scripts/qa/fetchdata Tue Nov 6 06:23:58 2007
@@ -26,10 +26,12 @@
my $list_is_packages = 0;
my $svn_rev;
my $parallel = 0;
+my $only;
$p->getoptions('help|h|?' => \&help, 'packages!' => \$list_is_packages,
- 'svn-revision|r=i' => \$svn_rev, 'parallel|j!' => \$parallel)
- or die "Error parsing command-line arguments!\n";
+ 'svn-revision|r=i' => \$svn_rev, 'parallel|j!' => \$parallel,
+ 'only=s' => \$only) or die "Error parsing command-line arguments!\n";
+die "Invalid module $only" if($only and $only !~ /^(svn|watch|bts|archive)$/);
my @dirs = @ARGV;
if($list_is_packages) {
@@ -38,7 +40,7 @@
}
}
# We need this first
-#svn_download($opts->{force}, $svn_rev, @dirs);
+svn_download($opts->{force}, $svn_rev, @dirs) if(!$only or $only eq "svn");
if($parallel) {
local $SIG{CHLD} = "IGNORE";
my @pids;
@@ -51,18 +53,20 @@
push @pids, $pid;
}
if(@pids == 2) {
- deb_download($opts->{force}); exit 0;
+ deb_download($opts->{force}) if(!$only or $only eq "archive"); exit 0;
} elsif(@pids == 1) {
- bts_download($opts->{force}, @dirs); exit 0;
+ bts_download($opts->{force}, @dirs) if(!$only or $only eq "bts");
+ exit 0;
} elsif(@pids == 0) {
- watch_download($opts->{force}, @dirs); exit 0;
+ watch_download($opts->{force}, @dirs) if(!$only or $only eq "watch");
+ exit 0;
} else {
waitpid($_, 0) foreach(@pids);
}
} else {
- deb_download($opts->{force});
- bts_download($opts->{force}, @dirs);
- watch_download($opts->{force}, @dirs);
+ deb_download($opts->{force}) if(!$only or $only eq "archive");
+ bts_download($opts->{force}, @dirs) if(!$only or $only eq "bts");
+ watch_download($opts->{force}, @dirs) if(!$only or $only eq "watch");
}
sub help {
@@ -83,6 +87,7 @@
--svn-revision,
-r REV Current revision for scanning the Subversion repository.
--parallel, -j Process in parallel (it will fork three processes).
+ --only MODULE Only run update for MODULE (svn|archive|watch|bts).
END
exit 0;
More information about the Pkg-perl-cvs-commits
mailing list