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