Changeset 24285 for trunk/scripts/feeds


Ignore:
Timestamp:
2010-12-06T17:57:25+01:00 (6 years ago)
Author:
nbd
Message:

scripts/feeds: support checking out git trees with different branches

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/scripts/feeds

    r23616 r24285  
    115115        'src-git' => { 
    116116                'init'          => "git clone --depth 1 '%s' '%s'", 
     117                'init_branch'   => "git clone --depth 1 --branch '%s' '%s' '%s'", 
    117118                'update'        => "git pull", 
    118119                'controldir'    => ".git"}, 
     
    144145        my $safepath = $localpath; 
    145146        $safepath =~ s/'/'\\''/; 
     147        my ($base, $branch) = split(/;/, $src, 2); 
    146148 
    147149        if( $relocate || !$m->{'update'} || !-d "$localpath/$m->{'controldir'}" ) { 
    148150                system("rm -rf '$safepath'"); 
    149                 system(sprintf($m->{'init'}, $src, $safepath)) == 0 or return 1; 
     151                if ($m->{'init_branch'} and $branch) { 
     152                        system(sprintf($m->{'init_branch'}, $branch, $base, $safepath)) == 0 or return 1; 
     153                } else { 
     154                        system(sprintf($m->{'init'}, $src, $safepath)) == 0 or return 1; 
     155                } 
    150156        } else { 
    151157                system("cd '$safepath'; $m->{'update'}") == 0 or return 1; 
Note: See TracChangeset for help on using the changeset viewer.