1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-27 17:11:53 +02:00

scripts/feeds: merge git branch support from r24285

git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@24289 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2010-12-06 19:59:55 +00:00
parent a90d4c321f
commit 092fb3210f

View File

@ -114,6 +114,7 @@ my %update_method = (
'update' => ""}, 'update' => ""},
'src-git' => { 'src-git' => {
'init' => "git clone --depth 1 '%s' '%s'", 'init' => "git clone --depth 1 '%s' '%s'",
'init_branch' => "git clone --depth 1 --branch '%s' '%s' '%s'",
'update' => "git pull", 'update' => "git pull",
'controldir' => ".git"}, 'controldir' => ".git"},
'src-bzr' => { 'src-bzr' => {
@ -139,10 +140,15 @@ sub update_feed_via($$$$) {
my $localpath = "./feeds/$name"; my $localpath = "./feeds/$name";
my $safepath = $localpath; my $safepath = $localpath;
$safepath =~ s/'/'\\''/; $safepath =~ s/'/'\\''/;
my ($base, $branch) = split(/;/, $src, 2);
if( $relocate || !$m->{'update'} || !-d "$localpath/$m->{'controldir'}" ) { if( $relocate || !$m->{'update'} || !-d "$localpath/$m->{'controldir'}" ) {
system("rm -rf '$safepath'"); system("rm -rf '$safepath'");
system(sprintf($m->{'init'}, $src, $safepath)) == 0 or return 1; if ($m->{'init_branch'} and $branch) {
system(sprintf($m->{'init_branch'}, $branch, $base, $safepath)) == 0 or return 1;
} else {
system(sprintf($m->{'init'}, $src, $safepath)) == 0 or return 1;
}
} else { } else {
system("cd '$safepath'; $m->{'update'}") == 0 or return 1; system("cd '$safepath'; $m->{'update'}") == 0 or return 1;
} }