[Collab-qa-commits] r551 - in svnbuildstat/trunk/lib/SvnBuildStat: . Controller Model WWW

goneri-guest at alioth.debian.org goneri-guest at alioth.debian.org
Tue Dec 4 22:40:00 UTC 2007


Author: goneri-guest
Date: 2007-12-04 22:40:00 +0000 (Tue, 04 Dec 2007)
New Revision: 551

Added:
   svnbuildstat/trunk/lib/SvnBuildStat/Controller/
   svnbuildstat/trunk/lib/SvnBuildStat/Controller/Builds.pm
   svnbuildstat/trunk/lib/SvnBuildStat/Controller/Packages.pm
   svnbuildstat/trunk/lib/SvnBuildStat/Model/
   svnbuildstat/trunk/lib/SvnBuildStat/Model/DB.pm
   svnbuildstat/trunk/lib/SvnBuildStat/View/
Removed:
   svnbuildstat/trunk/lib/SvnBuildStat/Controller/Packages.pm
   svnbuildstat/trunk/lib/SvnBuildStat/Model/DB.pm
   svnbuildstat/trunk/lib/SvnBuildStat/WWW/Controller/
   svnbuildstat/trunk/lib/SvnBuildStat/WWW/Model/
   svnbuildstat/trunk/lib/SvnBuildStat/WWW/View/
Log:
remove the WWW from the directory hierachie


Copied: svnbuildstat/trunk/lib/SvnBuildStat/Controller (from rev 468, svnbuildstat/trunk/lib/SvnBuildStat/WWW/Controller)

Copied: svnbuildstat/trunk/lib/SvnBuildStat/Controller/Builds.pm (from rev 550, svnbuildstat/trunk/lib/SvnBuildStat/WWW/Controller/Builds.pm)
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat/Controller/Builds.pm	                        (rev 0)
+++ svnbuildstat/trunk/lib/SvnBuildStat/Controller/Builds.pm	2007-12-04 22:40:00 UTC (rev 551)
@@ -0,0 +1,65 @@
+package SvnBuildStat::WWW::Controller::Builds;
+
+use strict;
+use warnings;
+use base 'Catalyst::Controller';
+
+=head1 NAME
+
+SvnBuildStat::WWW::Controller::Packages - Catalyst Controller
+
+=head1 DESCRIPTION
+
+Catalyst Controller.
+
+=head1 METHODS
+
+=cut
+
+
+=head2 index 
+
+=cut
+
+sub index : Private {
+  my ( $self, $c ) = @_;
+
+  $c->response->redirect($c->uri_for('/'));
+}
+
+sub upload : Local {
+  my ( $self, $c, $param ) = @_;
+
+my $txt = "a";
+ 
+my $destdir = "/home/sites/svnbuildstat.debian.net/svnbuildstat/uploads";
+foreach my $upload ( $c->request->upload('files') ) {
+    $upload->copy_to($destdir.'/'.$upload->filename) or $txt .= "zob";
+  }
+
+
+  $c->response->body($txt);
+
+}
+
+
+sub debug : Local {
+  my ( $self, $c, $param ) = @_;
+
+use Data::Dumper;
+my $txt = Dumper($c->{repositoryurl});
+  $c->response->body($txt);
+
+}
+=head1 AUTHOR
+
+Goneri Le Bouder,,,
+
+=head1 LICENSE
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;

Deleted: svnbuildstat/trunk/lib/SvnBuildStat/Controller/Packages.pm
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat/WWW/Controller/Packages.pm	2007-09-30 14:21:08 UTC (rev 468)
+++ svnbuildstat/trunk/lib/SvnBuildStat/Controller/Packages.pm	2007-12-04 22:40:00 UTC (rev 551)
@@ -1,212 +0,0 @@
-package SvnBuildStat::WWW::Controller::Packages;
-
-use strict;
-use warnings;
-use base 'Catalyst::Controller';
-
-=head1 NAME
-
-SvnBuildStat::WWW::Controller::Packages - Catalyst Controller
-
-=head1 DESCRIPTION
-
-Catalyst Controller.
-
-=head1 METHODS
-
-=cut
-
-
-=head2 index 
-
-=cut
-
-sub mkTarballFromPackage {
-  my $package = shift;
-
-  my $majorrelease = $$package->svndebrelease;
-  $majorrelease =~ s/-[0-9A-Za-z\.~]*$//;
-  # remove the EPOCH if exists
-  $majorrelease =~ s/^\d+://;
-
-  $$package->name.'_'.$majorrelease.".orig.tar.gz";
-}
-
-sub index : Private {
-  my ( $self, $c ) = @_;
-
-  $c->response->redirect($c->uri_for('/'));
-}
-
-sub list : Local {
-  my ( $self, $c, $param ) = @_;
-
-  my $data;
-
-
-  my $package_rs;
-  my $maintainer;
-
-  if (!$param) {
-    $c->response->redirect($c->uri_for('/repositorys/list'));
-    return;
-  }
-
-  ##
-  # people view
-  if ($param =~ /\@/) {
-    $maintainer = $c->model('SvnBuildStat::WWW::Model::DB::Maintainer')->search({email => $param})->first;
-    $c->stash->{maintainer} = $maintainer;
-
-    my $packagemaintainer_rs = $c->model('SvnBuildStat::WWW::Model::DB::PackageMaintainer')->search({maintainer_id => $maintainer->id});
-
-    my @package_id;
-    while (my $packagemaintainer = $packagemaintainer_rs->next) {
-      push @package_id, $packagemaintainer->package_id->id;
-    }
-    $c->stash->{packages} = [ $c->model('SvnBuildStat::WWW::Model::DB::Viewpackage')->search({ package_id => { '-in' => \@package_id } },{order_by=>"name"}) ];
-    ##
-    #  team view
-  } elsif ($param =~ /^\d+$/) {
-    $c->stash->{maintainer} = $c->model('SvnBuildStat::WWW::Model::DB::Repository')->search({id => $param})->first;
-    $c->stash->{packages} = [ $c->model('SvnBuildStat::WWW::Model::DB::Viewpackage')->search({ repository_id => $param },{order_by=>"name"}) ];
-  } else { # I don't want to kill my server with too much request
-    $c->response->redirect($c->uri_for('/repositorys/list'));
-    return;
-  }
-
-  $c->stash->{template} = 'packages/main.tt2';
-
-}
-
-sub info : Local {
-  my ($self, $c, $name) = @_;
-
-  # Retrieve all of the book records as book model objects and store in the
-  # stash where they can be accessed by the TT template
-  my $package = $c->model('SvnBuildStat::WWW::Model::DB::Package')->search({name => $name})->first;
-  if (!$package) {
-    $c->response->redirect($c->uri_for('/'));
-    return;
-  }
-
-  my @currentchangelogentry = split $/, $package->currentchangelogentry;
-  my @todo = split $/, $package->todo;
-  $c->stash->{package} = $package->name;
-  $c->stash->{bugpic} = $package->name;
-  $c->stash->{bugpic} =~ s!^(.)(.+)$!http://people.debian.org/~glandium/bts/$1/$1$2.png! ;
-  $c->stash->{istarballpresent} = $package->istarballpresent;
-  $c->stash->{isindebian} = $package->isindebian;
-  $c->stash->{tarballuri} = $package->tarballuri;
-  $c->stash->{svndebrelease} = $package->svndebrelease;
-  $c->stash->{iswatchfilebroken} = $package->iswatchfilebroken;
-  $c->stash->{uri} = $package->uri;
-  $c->stash->{weburi} = $package->uri;
-  $c->stash->{weburi} =~ s!svn://svn.debian.org/svn!http://svn.debian.org/wsvn!;
-  $c->stash->{isuptodate} = $package->isuptodate;
-  $c->stash->{upstreamrelease} = $package->upstreamrelease;
-  $c->stash->{currentchangelogentry} = \@currentchangelogentry;
-  $c->stash->{todo} = \@todo;
-  ############ Maintainers list
-  my $packagemaintainer_rs = $c->model('SvnBuildStat::WWW::Model::DB::PackageMaintainer')->search({package_id => $package->id});
-  $c->stash->{maintainers} = [ $packagemaintainer_rs->search_related("maintainer_id")->all ];
-
-  #############
-  my $bug_rs = $c->model('SvnBuildStat::WWW::Model::DB::Bug')->search(package_id => $package->id);
-  while (my $bug = $bug_rs->next) {
-  my $bugerror;
-  my $bugwarning;
-  $bugerror = 1 if ($bug->severity_id->name =~ /important|serious|grave|critical/);
-  $bugwarning = 1 if ($bug->severity_id->name =~ /normal/);
-  push @{$c->stash->{bugs}}, {
-  id => $bug->id,
-  name => $bug->name,
-  severity => $bug->severity_id->name,
-  error => $bugerror,
-  warning => $bugwarning }
-  }
-
-##########
-my $build = $c->model('SvnBuildStat::WWW::Model::DB::Build')->search({package_id => $package->id},{order_by => "id DESC"})->first;
-if ($build) {
-foreach (split $/, $build->lintian_log) {
-my $error;
-$error = 1 if /^E/;    
-push @{$c->stash->{lintians}}, { text => $_, error => $error };
-}
-
-foreach (split $/, $build->linda_log) {
-my $error;
-$error = 1 if /^E/;    
-push @{$c->stash->{lindas}}, { text => $_, error => $error } ;
-}
-
-$c->stash->{piupartsisok}  = $build->piupartsisok;
-}
-##############
-
-my $build_rs = $c->model('SvnBuildStat::WWW::Model::DB::Build')->search({package_id => $package->id},{order_by => "id DESC"});
-my $cpt;
-while (($cpt++ < 10) && (my $build = $build_rs->next)) {
-my $failedstep;
-if (!$build->buildisok) {
-		$failedstep = "build";
-}
-
-  push @{$c->stash->{builds}}, {
-    id => $build->id,
-    buildisok => $build->buildisok,
-    rev => $build->rev,
-    duration => $build->duration,
-    arch => $build->arch_id->name,
-    failedstep =>  $failedstep,
-    time => $build->time, 
-  }
-}
-
-
-
-# Set the TT template to use.  You will almost always want to do this
-# in your action methods (actions methods respond to user input in
-# your controllers).
-$c->stash->{template} = 'packages/info.tt2';
-
-}
-sub tobuildv2 : Local {
-  my ($self, $c, $arch) = @_;
-  my $archs = "(i386|m68k|sparc|alpha|powerpc|".
-  "arm|mips|mipsel|hppa|ia64|s390|amd64|".
-  "ppc64|sh|armeb|m32r|hurd-i386|kfreebsd-gnu)";
-
-
-  if (!(defined ($arch) && $arch && $arch =~ /$archs/)) {
-    $c->response->body("missing or invalid arch"); # Seems to create an error 
-    return;
-  }
-
-  my $tmp = $c->model('SvnBuildStat::WWW::Model::DB::Viewtobuild2')->search({$arch => 'true' })->first;
-  my $package = $c->model('SvnBuildStat::WWW::Model::DB::Package')->search ({id => $tmp->id})->first;
-
-
-  $package->lastbuildstart('now');
-  $package->update();
-
-  my $svndebrelease = $package->realsvndebrelease;
-  $svndebrelease =~ s/^\d+://; # remove the EPOCH 
-
-  # TODO: put the repository URL in the cfg
-  $c->response->body("http://nana.rulezlan.org/debian/".$package->name."_".$svndebrelease.".dsc");
-}
-
-=head1 AUTHOR
-
-Goneri Le Bouder,,,
-
-=head1 LICENSE
-
-This library is free software, you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=cut
-
-1;

Copied: svnbuildstat/trunk/lib/SvnBuildStat/Controller/Packages.pm (from rev 550, svnbuildstat/trunk/lib/SvnBuildStat/WWW/Controller/Packages.pm)
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat/Controller/Packages.pm	                        (rev 0)
+++ svnbuildstat/trunk/lib/SvnBuildStat/Controller/Packages.pm	2007-12-04 22:40:00 UTC (rev 551)
@@ -0,0 +1,242 @@
+package SvnBuildStat::WWW::Controller::Packages;
+
+use strict;
+use warnings;
+use base 'Catalyst::Controller';
+
+=head1 NAME
+
+SvnBuildStat::WWW::Controller::Packages - Catalyst Controller
+
+=head1 DESCRIPTION
+
+Catalyst Controller.
+
+=head1 METHODS
+
+=cut
+
+
+=head2 index 
+
+=cut
+
+sub mkTarballFromPackage {
+  my $package = shift;
+
+  my $majorrelease = $$package->svndebrelease;
+  $majorrelease =~ s/-[0-9A-Za-z\.~]*$//;
+  # remove the EPOCH if exists
+  $majorrelease =~ s/^\d+://;
+
+  $$package->name.'_'.$majorrelease.".orig.tar.gz";
+}
+
+sub index : Private {
+  my ( $self, $c ) = @_;
+
+  $c->response->redirect($c->uri_for('/'));
+}
+
+sub list : Local {
+  my ( $self, $c, $param ) = @_;
+
+  my $data;
+
+
+  my $package_rs;
+  my $maintainer;
+
+  if (!$param) {
+    $c->response->redirect($c->uri_for('/repositorys/list'));
+    return;
+  }
+
+  ##
+  # people view
+  if ($param =~ /\@/) {
+    $maintainer = $c->model('SvnBuildStat::WWW::Model::DB::Maintainer')->search({email => $param})->first;
+    $c->stash->{maintainer} = $maintainer;
+
+    my $packagemaintainer_rs = $c->model('SvnBuildStat::WWW::Model::DB::PackageMaintainer')->search({maintainer_id => $maintainer->id});
+
+    my @package_id;
+    while (my $packagemaintainer = $packagemaintainer_rs->next) {
+      push @package_id, $packagemaintainer->package_id->id;
+    }
+    $c->stash->{packages} = [ $c->model('SvnBuildStat::WWW::Model::DB::Viewpackage')->search({ package_id => { '-in' => \@package_id } },{order_by=>"name"}) ];
+    ##
+    #  team view
+  } elsif ($param =~ /^\d+$/) {
+    $c->stash->{maintainer} = $c->model('SvnBuildStat::WWW::Model::DB::Repository')->search({id => $param})->first;
+    $c->stash->{packages} = [ $c->model('SvnBuildStat::WWW::Model::DB::Viewpackage')->search({ repository_id => $param },{order_by=>"name"}) ];
+  } else { # I don't want to kill my server with too much request
+    $c->response->redirect($c->uri_for('/repositorys/list'));
+    return;
+  }
+
+  $c->stash->{template} = 'packages/main.tt2';
+
+}
+
+sub info : Local {
+  my ($self, $c, $name) = @_;
+
+  # Retrieve all of the book records as book model objects and store in the
+  # stash where they can be accessed by the TT template
+  my $package = $c->model('SvnBuildStat::WWW::Model::DB::Package')->search({name => $name})->first;
+  if (!$package) {
+    $c->response->redirect($c->uri_for('/'));
+    return;
+  }
+
+  my @currentchangelogentry = split $/, $package->currentchangelogentry;
+  my @todo = split $/, $package->todo;
+  $c->stash->{package} = $package->name;
+  $c->stash->{bugpic} = $package->name;
+  $c->stash->{bugpic} =~ s!^(.)(.+)$!http://people.debian.org/~glandium/bts/$1/$1$2.png! ;
+  $c->stash->{istarballpresent} = $package->istarballpresent;
+  $c->stash->{isindebian} = $package->isindebian;
+  $c->stash->{tarballuri} = $package->tarballuri;
+  $c->stash->{svndebrelease} = $package->svndebrelease;
+  $c->stash->{iswatchfilebroken} = $package->iswatchfilebroken;
+  $c->stash->{vcsuri} = $package->vcsuri;
+  $c->stash->{weburi} = $package->vcsuri;
+  $c->stash->{weburi} =~ s!svn://svn.debian.org/svn!http://svn.debian.org/wsvn!;
+  $c->stash->{isuptodate} = $package->isuptodate;
+  $c->stash->{upstreamrelease} = $package->upstreamrelease;
+  $c->stash->{currentchangelogentry} = \@currentchangelogentry;
+  $c->stash->{todo} = \@todo;
+  ############ Maintainers list
+  my $packagemaintainer_rs = $c->model('SvnBuildStat::WWW::Model::DB::PackageMaintainer')->search({package_id => $package->id});
+  $c->stash->{maintainers} = [ $packagemaintainer_rs->search_related("maintainer_id")->all ];
+
+  #############
+  my $bug_rs = $c->model('SvnBuildStat::WWW::Model::DB::Bug')->search(package_id => $package->id);
+  while (my $bug = $bug_rs->next) {
+  my $bugerror;
+  my $bugwarning;
+  $bugerror = 1 if ($bug->severity_id->name =~ /important|serious|grave|critical/);
+  $bugwarning = 1 if ($bug->severity_id->name =~ /normal/);
+  push @{$c->stash->{bugs}}, {
+  id => $bug->id,
+  name => $bug->name,
+  severity => $bug->severity_id->name,
+  error => $bugerror,
+  warning => $bugwarning }
+  }
+
+##########
+my $build = $c->model('SvnBuildStat::WWW::Model::DB::Build')->search({package_id => $package->id},{order_by => "id DESC"})->first;
+if ($build) {
+foreach (split $/, $build->lintian_log) {
+my $error;
+$error = 1 if /^E/;    
+push @{$c->stash->{lintians}}, { text => $_, error => $error };
+}
+
+foreach (split $/, $build->linda_log) {
+my $error;
+$error = 1 if /^E/;    
+push @{$c->stash->{lindas}}, { text => $_, error => $error } ;
+}
+
+$c->stash->{piupartsisok}  = $build->piupartsisok;
+}
+##############
+
+my $build_rs = $c->model('SvnBuildStat::WWW::Model::DB::Build')->search({package_id => $package->id},{order_by => "id DESC"});
+my $cpt;
+while (($cpt++ < 10) && (my $build = $build_rs->next)) {
+my $failedstep;
+if (!$build->buildisok) {
+		$failedstep = "build";
+}
+
+  push @{$c->stash->{builds}}, {
+    id => $build->id,
+    buildisok => $build->buildisok,
+    rev => $build->rev,
+    duration => $build->duration,
+    arch => $build->arch_id->name,
+    failedstep =>  $failedstep,
+    time => $build->time, 
+  }
+}
+
+
+
+# Set the TT template to use.  You will almost always want to do this
+# in your action methods (actions methods respond to user input in
+# your controllers).
+$c->stash->{template} = 'packages/info.tt2';
+
+}
+sub tobuildv3 : Local {
+  my ($self, $c, $arch) = @_;
+  my $archs = "(i386|m68k|sparc|alpha|powerpc|".
+  "arm|mips|mipsel|hppa|ia64|s390|amd64|".
+  "ppc64|sh|armeb|m32r|hurd-i386|kfreebsd-gnu)";
+
+
+
+  if (!(defined ($arch) && $arch && $arch =~ /$archs/)) {
+    $c->response->body("missing or invalid arch"); # Seems to create an error 
+    return;
+  }
+#   FROM package
+#      LEFT JOIN build ON package.id = build.package_id AND package.vcsrev = build.rev::text
+#        WHERE package.blacklisted = false AND package.issrcinmypool = true AND (package.lastbuildstart IS NULL OR package.lastbuildstart < (now() - '03:00:00'::interval))
+#          ORDER BY build.id IS NOT NULL, build."time";
+
+  my $package_id = $c->model('SvnBuildStat::WWW::Model::DB::Viewtobuild')->search({$arch => 'true' })->first->id;
+  my $package = $c->model('SvnBuildStat::WWW::Model::DB::Package')->search ({id => $package_id})->first;
+
+
+  $package->lastbuildstart('now');
+  $package->update();
+
+
+  my $dscuri = $package->dscuri;
+  $dscuri =~ s/\@REPOSITORY_URL@/http:\/\/localhost\/debian/;
+
+  $c->response->body("dsc=".$dscuri."\npackage_id=".$package->id);
+
+}
+
+
+sub tocheckv3 : Local {
+  my ($self, $c, $qatoolname) = @_;
+
+  return unless $qatoolname =~ /^\w+$/;
+
+  my $qatool = $c->model('SvnBuildStat::WWW::Model::DB::Qatool')->search ({name => $qatoolname})->first;
+
+  return unless $qatool;
+
+
+
+  my $package_id = $c->model('SvnBuildStat::WWW::Model::DB::Qaresult')->search({$ => 'true' })->first->id;
+  my $build = $c->model('SvnBuildStat::WWW::Model::DB::Build')->search ({id => $package_id})->first;
+
+
+
+#  my $dscuri = $package->dscuri;
+#  $dscuri =~ s/\@REPOSITORY_URL@/http:\/\/localhost\/debian/;
+#
+#  $c->response->body("dsc=".$dscuri."\npackage_id=".$package->id);
+
+}
+
+=head1 AUTHOR
+
+Goneri Le Bouder,,,
+
+=head1 LICENSE
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;

Copied: svnbuildstat/trunk/lib/SvnBuildStat/Model (from rev 468, svnbuildstat/trunk/lib/SvnBuildStat/WWW/Model)

Deleted: svnbuildstat/trunk/lib/SvnBuildStat/Model/DB.pm
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat/WWW/Model/DB.pm	2007-09-30 14:21:08 UTC (rev 468)
+++ svnbuildstat/trunk/lib/SvnBuildStat/Model/DB.pm	2007-12-04 22:40:00 UTC (rev 551)
@@ -1,46 +0,0 @@
-package SvnBuildStat::WWW::Model::DB;
-
-use strict;
-use base 'Catalyst::Model::DBIC::Schema';
-
-
-use lib "/home/goneri/svn/pkg-games/people/goneri/svnbuildstat";
-use SvnBuildStat::Config;
-
-
-my $config = new SvnBuildStat::Config;
-print $config->db_dsn."\n";
-print $config->db_user."\n";
-print $config->db_password."\n";
-__PACKAGE__->config(
-  schema_class => 'SvnBuildStat::Schema',
-  connect_info => [
-  $config->db_dsn,
-  $config->db_user,
-  $config->db_password,
-  {AutoCommit => 1, debug => 1}
-  ]
-);
-=head1 NAME
-
-SvnBuildStat::WWW::Model::DB - Catalyst DBIC Schema Model
-=head1 SYNOPSIS
-
-See L<SvnBuildStat::WWW>
-
-=head1 DESCRIPTION
-
-L<Catalyst::Model::DBIC::Schema> Model using schema L<SvnBuildStat::Schema>
-
-=head1 AUTHOR
-
-Goneri Le Bouder,,,
-
-=head1 LICENSE
-
-This library is free software, you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=cut
-
-1;

Copied: svnbuildstat/trunk/lib/SvnBuildStat/Model/DB.pm (from rev 550, svnbuildstat/trunk/lib/SvnBuildStat/WWW/Model/DB.pm)
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat/Model/DB.pm	                        (rev 0)
+++ svnbuildstat/trunk/lib/SvnBuildStat/Model/DB.pm	2007-12-04 22:40:00 UTC (rev 551)
@@ -0,0 +1,43 @@
+package SvnBuildStat::WWW::Model::DB;
+
+use strict;
+use base 'Catalyst::Model::DBIC::Schema';
+
+
+use lib "/home/goneri/svn/pkg-games/people/goneri/svnbuildstat";
+use SvnBuildStat::Config;
+
+
+my $config = new SvnBuildStat::Config;
+__PACKAGE__->config(
+  schema_class => 'SvnBuildStat::Schema',
+  connect_info => [
+  $config->db_dsn,
+  $config->db_user,
+  $config->db_password,
+  {AutoCommit => 1, debug => 1}
+  ]
+);
+=head1 NAME
+
+SvnBuildStat::WWW::Model::DB - Catalyst DBIC Schema Model
+=head1 SYNOPSIS
+
+See L<SvnBuildStat::WWW>
+
+=head1 DESCRIPTION
+
+L<Catalyst::Model::DBIC::Schema> Model using schema L<SvnBuildStat::Schema>
+
+=head1 AUTHOR
+
+Goneri Le Bouder,,,
+
+=head1 LICENSE
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;

Copied: svnbuildstat/trunk/lib/SvnBuildStat/View (from rev 468, svnbuildstat/trunk/lib/SvnBuildStat/WWW/View)




More information about the Collab-qa-commits mailing list