scripts/feeds: add support for optionally using a full clone of git repositories
authorFelix Fietkau <nbd@openwrt.org>
Sun, 10 May 2015 15:51:19 +0000 (15:51 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 10 May 2015 15:51:19 +0000 (15:51 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 45668

scripts/feeds

index 785be385a9038983e5281ba9ca5726422fdf1c5e..89cb5a22c535ebaf5af4500876a36587ea420ace 100755 (executable)
@@ -51,7 +51,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";
@@ -128,6 +128,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",