BB: scripts/feeds: add support for optionally using a full clone of git repositories
authorJo-Philipp Wich <jow@openwrt.org>
Mon, 7 Dec 2015 16:30:59 +0000 (16:30 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Mon, 7 Dec 2015 16:30:59 +0000 (16:30 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Backport of r45668

SVN-Revision: 47805

scripts/feeds

index 26c2de09452bbf1ddfec614638123a380b0a7a04..be1bebd29eaf8deeb1223a15caba57dc562ceb81 100755 (executable)
@@ -49,7 +49,7 @@ sub parse_config() {
                $line++;
 
                my $valid = 1;
-               $line[0] =~ /^src-\w+$/ or $valid = 0;
+               $line[0] =~ /^src-[\w-]+$/ or $valid = 0;
                $line[1] =~ /^\w+$/ or $valid = 0;
                @src = split /\s+/, $line[2];
                $valid or die "Syntax error in feeds.conf, line: $line\n";
@@ -124,6 +124,13 @@ my %update_method = (
                'update'        => "git pull --ff",
                'controldir'    => ".git",
                'revision'      => "git show --abbrev-commit HEAD | head -n 1 | cut -d ' ' -f 2 | tr -d '\n'"},
+       'src-git-full' => {
+               'init'          => "git clone '%s' '%s'",
+               'init_branch'   => "git clone --branch '%s' '%s' '%s'",
+               'init_commit'   => "git clone '%s' '%s' && cd '%s' && git checkout -b '%s' '%s' && cd -",
+               'update'        => "git pull --ff",
+               'controldir'    => ".git",
+               'revision'      => "git show --abbrev-commit HEAD | head -n 1 | cut -d ' ' -f 2 | tr -d '\n'"},
        'src-gitsvn' => {
                'init'  => "git svn clone -r HEAD '%s' '%s'",
                'update'        => "git svn rebase",