scripts/feeds: add support for optionally using a full clone of git repositories
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 10 May 2015 15:51:19 +0000 (15:51 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 10 May 2015 15:51:19 +0000 (15:51 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45668 3c298f89-4303-0410-b956-a3cf2f4a3e73

scripts/feeds

index 785be38..89cb5a2 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",