Subversion Repositories DevTools

Rev

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

Rev 2635 Rev 2757
Line 53... Line 53...
53
my $opt_repo_base = 'AUPERASVN01/';
53
my $opt_repo_base = 'AUPERASVN01/';
54
my $opt_repo = '';
54
my $opt_repo = '';
55
my $opt_repoSubdir = '';
55
my $opt_repoSubdir = '';
56
my $opt_flat;
56
my $opt_flat;
57
my $opt_test;
57
my $opt_test;
58
my $opt_reuse;
58
my $opt_reuse = 0;
59
my $opt_age;
59
my $opt_age;
60
my $opt_dump = 0;
60
my $opt_dump = 0;
61
my $opt_images = 0;
61
my $opt_images = 0;
62
my $opt_retaincount = 2;
62
my $opt_retaincount = 2;
63
my $opt_pruneModeString;
63
my $opt_pruneModeString;
Line 251... Line 251...
251
    'WinCEDeviceUpgrade'            => 'IgnoreMakeProject', # MakeProject Tested on at least one
251
    'WinCEDeviceUpgrade'            => 'IgnoreMakeProject', # MakeProject Tested on at least one
252
    'scil'                          => 'LimitProjectBase=/DPG_SWCode/projects/seattle/tvm',
252
    'scil'                          => 'LimitProjectBase=/DPG_SWCode/projects/seattle/tvm',
253
    'daf_br_compiler_support'       => 'ForceProjectBase=/DPG_SWBase/daf_br_compiler/support',
253
    'daf_br_compiler_support'       => 'ForceProjectBase=/DPG_SWBase/daf_br_compiler/support',
254
 
254
 
255
    'LinuxDrivers'                  => 'flatTime,LimitProjectBase=/LMOS/linux/drivers'.
255
    'LinuxDrivers'                  => 'flatTime,LimitProjectBase=/LMOS/linux/drivers'.
256
                                       ',mergePaths=modules:bcp4600:cobra:eb5600:etx86:tp5600:viper'.
256
                                       ',mergePaths=modules:bcp4600:cobra:eb5600:etx86:tp5600:viper',
-
 
257
 
-
 
258
    'flashCopier'              => 'flatTime,LimitProjectBase=/LMOS/tools/flashCopier'.
257
                                       ',Packages=linux_drivers_eb5600:linux_drivers_viper:linux_drivers_cobra:linux_drivers_bcp4600:linux_drivers_etx86:linux_drivers_tp5600',
259
                                       ',mergePaths=+:src:pcp5700:eb5600:tp5600',
-
 
260
 
-
 
261
 
258
 
262
 
259
 
263
 
260
    'icl'                   => 'IgnoreProjectBase,',
264
    'icl'                   => 'IgnoreProjectBase,',
261
    'itso'                  => 'IgnoreProjectBase,',
265
    'itso'                  => 'IgnoreProjectBase,',
262
#    'daf_osa_mos'           => 'IgnoreProjectBase,',
266
#    'daf_osa_mos'           => 'IgnoreProjectBase,',
Line 350... Line 354...
350
my $packageReLabelCount = 0;
354
my $packageReLabelCount = 0;
351
my %saneLabels;
355
my %saneLabels;
352
my $adjustedPath = 0;
356
my $adjustedPath = 0;
353
my $forceImportFlush = 0;
357
my $forceImportFlush = 0;
354
my %restoreData;
358
my %restoreData;
355
my @ComboPackageList;
-
 
356
 
359
 
357
our $GBE_RM_URL;
360
our $GBE_RM_URL;
358
my $UNIX = $ENV{'GBE_UNIX'};
361
my $UNIX = $ENV{'GBE_UNIX'};
359
 
362
 
360
my $result = GetOptions (
363
my $result = GetOptions (
Line 363... Line 366...
363
                "verbose:+"     => \$opt_verbose,       # Versose
366
                "verbose:+"     => \$opt_verbose,       # Versose
364
                "repository:s"  => \$opt_repo,          # Name of repository
367
                "repository:s"  => \$opt_repo,          # Name of repository
365
                'rbase:s'       => \$opt_repo_base,     # Base of the repo
368
                'rbase:s'       => \$opt_repo_base,     # Base of the repo
366
                "flat!"         => \$opt_flat,          # Flat structure
369
                "flat!"         => \$opt_flat,          # Flat structure
367
                "test!"         => \$opt_test,          # Test operations
370
                "test!"         => \$opt_test,          # Test operations
368
                "reuse!"        => \$opt_reuse,         # Reuse ClearCase views
371
                "reuse:1"       => \$opt_reuse,         # Reuse ClearCase views 0:None, 1=Retain, 2=Use+Delete
369
                "age:i"         => \$opt_age,           # Only recent versions
372
                "age:i"         => \$opt_age,           # Only recent versions
370
                "dump:1"        => \$opt_dump,          # Dump Data
373
                "dump:1"        => \$opt_dump,          # Dump Data
371
                "images:1"      => \$opt_images,        # Create DOT images
374
                "images:1"      => \$opt_images,        # Create DOT images
372
                "retain:i"      => \$opt_retaincount,   # Retain N packages
375
                "retain:i"      => \$opt_retaincount,   # Retain N packages
373
                "pruneMode:s"   => \$opt_pruneModeString,
376
                "pruneMode:s"   => \$opt_pruneModeString,
Line 446... Line 449...
446
                    linux_drivers_etx86
449
                    linux_drivers_etx86
447
                    linux_drivers_tp5600);
450
                    linux_drivers_tp5600);
448
#                    linux_drivers_bcp4600
451
#                    linux_drivers_bcp4600
449
                    
452
                    
450
        $opt_name = $opt_mergePackages;
453
        $opt_name = $opt_mergePackages;
-
 
454
 
-
 
455
    } elsif ( $opt_mergePackages eq 'flashCopier' )
-
 
456
    {
-
 
457
        @ARGV = qw (
-
 
458
                flash_copier_eb5600
-
 
459
                flash_copier_pcp5700
-
 
460
                flash_copier_tp5600
-
 
461
                );
-
 
462
 
-
 
463
        $opt_name = $opt_mergePackages;
-
 
464
 
451
    } else
465
    } else
452
    {
466
    {
453
        Error ("Unknown Merge Package Name: $opt_mergePackages");
467
        Error ("Unknown Merge Package Name: $opt_mergePackages");
454
    }
468
    }
455
}
469
}
Line 831... Line 845...
831
        if ( $data =~ m~,mergePaths=(.*?),~ ) {
845
        if ( $data =~ m~,mergePaths=(.*?),~ ) {
832
            @opt_mergePaths = split(':', $1);
846
            @opt_mergePaths = split(':', $1);
833
            Message ("Merge Paths: @opt_mergePaths");
847
            Message ("Merge Paths: @opt_mergePaths");
834
        }
848
        }
835
 
849
 
836
        if ( $data =~ m~,Packages=(.*?),~ ) {
-
 
837
            @ComboPackageList =  split(':', $1);
-
 
838
            Message ("ComboPackage: @ComboPackageList");
-
 
839
        }
-
 
840
 
-
 
841
        if ( index( $data, ',IgnoreProjectBase,' ) >= 0) {
850
        if ( index( $data, ',IgnoreProjectBase,' ) >= 0) {
842
            $opt_ignoreProjectBaseErrors = 1;
851
            $opt_ignoreProjectBaseErrors = 1;
843
            Message ("Ignore ProjectBase Errors");
852
            Message ("Ignore ProjectBase Errors");
844
        }
853
        }
845
 
854
 
Line 1303... Line 1312...
1303
            return 0 if ( ($pruneMode == 1) && ! $versions{$entry}{isaRipple} );
1312
            return 0 if ( ($pruneMode == 1) && ! $versions{$entry}{isaRipple} );
1304
            return 0 if ( exists $versions{$entry}{keepRecent} && $versions{$entry}{keepRecent} );
1313
            return 0 if ( exists $versions{$entry}{keepRecent} && $versions{$entry}{keepRecent} );
1305
            return 1;
1314
            return 1;
1306
        }
1315
        }
1307
 
1316
 
-
 
1317
 
-
 
1318
        #
-
 
1319
        #   Determine a list of entries to be pruned
-
 
1320
        #   Done in two steps so that we can skip the pruning if its only a small number
-
 
1321
        #
-
 
1322
        my @pruneList;
1308
        foreach my $entry ( keys(%versions) )
1323
        foreach my $entry ( keys(%versions) )
1309
        {
1324
        {
-
 
1325
            push ( @pruneList, $entry ) if ( pruneMe($entry) );
-
 
1326
        }
-
 
1327
 
-
 
1328
 
-
 
1329
        #
-
 
1330
        #   If the list is very small then just import all of them
1310
#last;
1331
        #
-
 
1332
        if ( scalar @pruneList < 10 )
-
 
1333
        {
-
 
1334
            Message ("Retaining pruned entries - low count:" . scalar @pruneList );
-
 
1335
            @pruneList = ();
-
 
1336
        } else {
-
 
1337
            my $total = scalar keys %versions;
-
 
1338
 
-
 
1339
            if ( scalar @pruneList < ($total / 15))
-
 
1340
            {
-
 
1341
                Message ("Retaining pruned entries - low percentage of $total:" . scalar @pruneList );
1311
            next unless ( pruneMe($entry) );
1342
                @pruneList = ();
-
 
1343
            }
-
 
1344
        }
-
 
1345
        
-
 
1346
 
-
 
1347
        foreach my $entry (@pruneList )
-
 
1348
        {
1312
#print "--- Prune: $versions{$entry}{vname}\n";
1349
#print "--- Prune: $versions{$entry}{vname}\n";
1313
 
1350
 
1314
            # Delete the current node
1351
            # Delete the current node
1315
            #
1352
            #
1316
            my @newNext;
1353
            my @newNext;
Line 1829... Line 1866...
1829
    #   Delete the created view
1866
    #   Delete the created view
1830
    #   Its just a directory, so delete it
1867
    #   Its just a directory, so delete it
1831
    #
1868
    #
1832
    if ( $data{ViewRoot} && -d $data{ViewRoot})
1869
    if ( $data{ViewRoot} && -d $data{ViewRoot})
1833
    {
1870
    {
1834
        if ( !$opt_reuse || ($rv && ($rv != 4 && $rv != 12 && $rv != 5 )) )
1871
        if ( $opt_reuse == 0 || $opt_reuse == 2 || ($rv && ($rv != 4 && $rv != 12 && $rv != 5 )) )
1835
        {
1872
        {
1836
            Message ("Delete View: $data{ViewRoot}");
1873
            Message ("Delete View: $data{ViewRoot}");
1837
            RmDirTree ($data{ViewRoot} );
1874
            RmDirTree ($data{ViewRoot} );
1838
        }
1875
        }
1839
        else
1876
        else