projects
/
openwrt-10.03
/
.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
scripts/feeds: merge git branch support from r24285
[openwrt-10.03/.git]
/
scripts
/
feeds
diff --git
a/scripts/feeds
b/scripts/feeds
index 43c5c6dc43d2e691c0ee283b6651808d58a46ea4..e623451c6a840c1400ec116d94cafc28c27d1b1d 100755
(executable)
--- a/
scripts/feeds
+++ b/
scripts/feeds
@@
-114,6
+114,7
@@
my %update_method = (
'update' => ""},
'src-git' => {
'init' => "git clone --depth 1 '%s' '%s'",
'update' => ""},
'src-git' => {
'init' => "git clone --depth 1 '%s' '%s'",
+ 'init_branch' => "git clone --depth 1 --branch '%s' '%s' '%s'",
'update' => "git pull",
'controldir' => ".git"},
'src-bzr' => {
'update' => "git pull",
'controldir' => ".git"},
'src-bzr' => {
@@
-139,10
+140,15
@@
sub update_feed_via($$$$) {
my $localpath = "./feeds/$name";
my $safepath = $localpath;
$safepath =~ s/'/'\\''/;
my $localpath = "./feeds/$name";
my $safepath = $localpath;
$safepath =~ s/'/'\\''/;
+ my ($base, $branch) = split(/;/, $src, 2);
if( $relocate || !$m->{'update'} || !-d "$localpath/$m->{'controldir'}" ) {
system("rm -rf '$safepath'");
if( $relocate || !$m->{'update'} || !-d "$localpath/$m->{'controldir'}" ) {
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 {
system("cd '$safepath'; $m->{'update'}") == 0 or return 1;
}
} else {
system("cd '$safepath'; $m->{'update'}") == 0 or return 1;
}