Subversion Repositories DevTools

Rev

Rev 1197 | Rev 1341 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1197 Rev 1270
Line 21... Line 21...
21
use Getopt::Long;
21
use Getopt::Long;
22
use Pod::Usage;                             # required for help support
22
use Pod::Usage;                             # required for help support
23
use JatsRmApi;
23
use JatsRmApi;
24
use ConfigurationFile;
24
use ConfigurationFile;
25
use HTML::Table;
25
use HTML::Table;
-
 
26
use JatsSvn;
26
 
27
 
27
use DBI;
28
use DBI;
28
our $GBE_RM_URL;
29
our $GBE_RM_URL;
29
our $GBE_DM_URL;
30
our $GBE_DM_URL;
30
 
31
 
Line 204... Line 205...
204
foreach my $pkgid ( keys %PackageSet )
205
foreach my $pkgid ( keys %PackageSet )
205
{
206
{
206
    ($PackageData{$pkgid}{type}, @{$PackageData{$pkgid}{suffixes}} ) = smartPackageType ($pkgid);
207
    ($PackageData{$pkgid}{type}, @{$PackageData{$pkgid}{suffixes}} ) = smartPackageType ($pkgid);
207
    my @vobs = keys %{$PackageData{$pkgid}{vobs}};
208
    my @vobs = keys %{$PackageData{$pkgid}{vobs}};
208
    $PackageData{$pkgid}{isSVN} = 1 if ( @vobs == 1 && $vobs[0] eq 'SVN' );
209
    $PackageData{$pkgid}{isSVN} = 1 if ( @vobs == 1 && $vobs[0] eq 'SVN' );
-
 
210
    $PackageData{$pkgid}{isSVN} = 1 if ( (exists ($PackageData{$pkgid}{vobs}{SVN})) && $PackageData{$pkgid}{vobs}{SVN});
-
 
211
 
209
    $PackageData{$pkgid}{MultiVob} = 1 if ( @vobs > 1 );
212
    $PackageData{$pkgid}{MultiVob} = 1 if ( @vobs > 1 );
210
    $PackageData{$pkgid}{BadVob} = 1 if ( grep {$_ eq 'BAD'} @vobs   );
213
    $PackageData{$pkgid}{BadVob} = 1 if ( grep {$_ eq 'BAD'} @vobs   );
211
}
214
}
212
 
215
 
213
 
216
 
Line 261... Line 264...
261
    close $fh;
264
    close $fh;
262
    Message("Unique Package Names: $count");
265
    Message("Unique Package Names: $count");
263
#    DebugDumpData("PackageData", \%PackageData);
266
#    DebugDumpData("PackageData", \%PackageData);
264
}
267
}
265
 
268
 
266
=pod
269
##=pod
267
#
270
###
268
#   Display MutiVob Packages
271
###   Display MutiVob Packages
269
#
272
###
270
    foreach my $pkgid (  keys %PackageData )
273
##    foreach my $pkgid (  keys %PackageData )
271
    {
274
##    {
272
        next unless ( $PackageData{$pkgid}{MultiVob}  );
275
##        next unless ( $PackageData{$pkgid}{MultiVob}  );
273
        Message("Multi VOB package: $PackageData{$pkgid}{name}");
276
##        Message("Multi VOB package: $PackageData{$pkgid}{name}");
274
        foreach my $vob ( keys %{$PackageData{$pkgid}{vobs}} )
277
##        foreach my $vob ( keys %{$PackageData{$pkgid}{vobs}} )
275
        {
278
##        {
276
            Message("    $vob");
279
##            Message("    $vob");
277
            foreach my $pvid ( @{$PackageData{$pkgid}{vobs}{$vob}} )
280
##            foreach my $pvid ( @{$PackageData{$pkgid}{vobs}{$vob}} )
278
            {
281
##            {
279
                Message ("        $ScmPackages{$pvid}{'version'}, $ScmPackages{$pvid}{'vcstag'}");
282
##                Message ("        $ScmPackages{$pvid}{'version'}, $ScmPackages{$pvid}{'vcstag'}");
280
            }
283
##            }
281
        }
284
##        }
282
#DebugDumpData("DATA",$PackageData{$pkgid} );
285
###DebugDumpData("DATA",$PackageData{$pkgid} );
283
    }
286
##    }
284
=cut
287
##=cut
285
 
288
 
286
=pod
289
##=pod
287
    foreach my $pkgid (  keys %PackageData )
290
##    foreach my $pkgid (  keys %PackageData )
288
    {
291
##    {
289
        next unless ( $PackageData{$pkgid}{isSVN}  );
292
##        next unless ( $PackageData{$pkgid}{isSVN}  );
290
        Message("Fully SVN Converted: $PackageData{$pkgid}{name}");
293
##        Message("Fully SVN Converted: $PackageData{$pkgid}{name}");
291
    }
294
##    }
292
=cut    
295
##=cut
293
    
296
    
294
=pod
297
##=pod
295
    my @BadTags;
298
##    my @BadTags;
296
    foreach my $pvid (  keys %ScmPackages )
299
##    foreach my $pvid (  keys %ScmPackages )
297
    {
300
##    {
298
        next unless ( $ScmPackages{$pvid}{BadVob}  );
301
##        next unless ( $ScmPackages{$pvid}{BadVob}  );
299
        push @BadTags, $pvid;
302
##        push @BadTags, $pvid;
300
    }
303
##    }
301
 
304
##
302
    Message("Bad VcsTag packages: ". scalar @BadTags);
305
##    Message("Bad VcsTag packages: ". scalar @BadTags);
303
    foreach my $pvid ( @BadTags )
306
##    foreach my $pvid ( @BadTags )
304
    {
307
##    {
305
        Message ("    $pvid, $ScmPackages{$pvid}{'name'}, $ScmPackages{$pvid}{'version'}, $ScmPackages{$pvid}{'vcstag'}");
308
##        Message ("    $pvid, $ScmPackages{$pvid}{'name'}, $ScmPackages{$pvid}{'version'}, $ScmPackages{$pvid}{'vcstag'}");
306
    }
309
##    }
307
=cut
310
##=cut
308
 
311
 
309
    generateHTML();
312
    generateHTML();
310
    generateImportData();
313
    generateImportData();
311
    exit 0;
314
    exit 0;
312
 
315
 
Line 321... Line 324...
321
# Returns         : 
324
# Returns         : 
322
#
325
#
323
sub generateImportData
326
sub generateImportData
324
{
327
{
325
    my %Data;
328
    my %Data;
-
 
329
    Message("Generate Data for utilties");
-
 
330
    
326
    foreach my $pkgid ( keys %PackageData )
331
    foreach my $pkgid ( keys %PackageData )
327
    {
332
    {
328
        my $repo = $PackageData{$pkgid}{mappedRepo};
333
        my $repo = $PackageData{$pkgid}{mappedRepo};
329
        my $name = $PackageData{$pkgid}{name};
334
        my $name = $PackageData{$pkgid}{name};
330
        $Data{$name}{repo} = $repo;
335
        $Data{$name}{repo} = $repo;
Line 372... Line 377...
372
{
377
{
373
    my @PackageOrder;
378
    my @PackageOrder;
374
    EnvImport('GBE_RM_URL');
379
    EnvImport('GBE_RM_URL');
375
    EnvImport('GBE_DM_URL');
380
    EnvImport('GBE_DM_URL');
376
    my $t;
381
    my $t;
-
 
382
    Message("Generate HTML");
377
 
383
 
378
 
384
 
379
    open (HTML, '>', 'PackageConversion.html') || Error ("Cannot create HTML");
385
    open (HTML, '>', 'PackageConversion.html') || Error ("Cannot create HTML");
380
    print HTML <<'HEADER';
386
    print HTML <<'HEADER';
381
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
387
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
Line 909... Line 915...
909
    #
915
    #
910
    #   Packages already under Subversion
916
    #   Packages already under Subversion
911
    #
917
    #
912
    print HTML header('InSvn', 'Packages in Subversion');
918
    print HTML header('InSvn', 'Packages in Subversion');
913
    print HTML "Packages that are currently in Subversion\n";
919
    print HTML "Packages that are currently in Subversion\n";
-
 
920
    print HTML anchor("Repo_SVN",'SVN');
-
 
921
 
914
    $t = new HTML::Table( -border=>1 );
922
    $t = new HTML::Table( -border=>1 );
915
    foreach my $pkgid ( @{$Repos{SVN}} )
923
    foreach my $pkgid ( @{$Repos{SVN}} )
916
    {
924
    {
917
        my %RepoList;
925
        my %RepoList;
918
        foreach my $pvid ( @{$PackageSet{$pkgid}} )
926
        foreach my $pvid ( @{$PackageSet{$pkgid}} )
919
        {
927
        {
920
            my $repo = $ScmPackages{$pvid}{'vcstag'};
928
            my $repo = $ScmPackages{$pvid}{'vcstag'};
921
            $repo =~ m~SVN::(.*)(/tags/|/branches/|/trunk)~;
929
            if ( $repo =~ m~SVN::(.*)(/tags/|/branches/|/trunk)~i )
922
            $RepoList{$1} = 1;
930
            {
-
 
931
                $RepoList{$1} = svnLink($1) unless exists $RepoList{$1};
-
 
932
            }
923
        }
933
        }
924
        $t->addRow( linkPackageDetails($pkgid), join( '<br>', keys %RepoList) );
934
        $t->addRow( linkPackageDetails($pkgid), join( '<br>', values %RepoList) );
925
    }
935
    }
926
    print HTML $t->getTable;
936
    print HTML $t->getTable;
927
 
937
 
928
print HTML "</body>\n";
938
print HTML "</body>\n";
929
print HTML "</html>\n";
939
print HTML "</html>\n";
Line 1197... Line 1207...
1197
    my $ref = $name . '.importlog';
1207
    my $ref = $name . '.importlog';
1198
    my $text = $utext ? $utext : $name;
1208
    my $text = $utext ? $utext : $name;
1199
    return hRef($ref, $text, '_packageLog');
1209
    return hRef($ref, $text, '_packageLog');
1200
}
1210
}
1201
 
1211
 
-
 
1212
sub svnLink
-
 
1213
{
-
 
1214
    my ($tag, $utext) = @_;
-
 
1215
    my $text = $utext ? $utext : $tag;
-
 
1216
 
-
 
1217
    $tag =~ s~^SVN::~~;
-
 
1218
    my $url = SvnPath2Url ($tag);
-
 
1219
    return hRef($url, $text, '_SvnPage');
-
 
1220
}
-
 
1221
 
1202
 
1222
 
1203
 
1223
 
1204
#-------------------------------------------------------------------------------
1224
#-------------------------------------------------------------------------------
1205
# Function        : startExpander
1225
# Function        : startExpander
1206
#                   endExpander
1226
#                   endExpander