From 08436887fb170febd8aecb62ff326f4b7178419c Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 10 May 2015 15:51:19 +0000
Subject: [PATCH] scripts/feeds: add support for optionally using a full clone
 of git repositories

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45668
---
 scripts/feeds | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/scripts/feeds b/scripts/feeds
index 785be385a9..89cb5a22c5 100755
--- a/scripts/feeds
+++ b/scripts/feeds
@@ -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",
-- 
GitLab