summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-05-10 15:51:19 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-05-10 15:51:19 +0000
commit08436887fb170febd8aecb62ff326f4b7178419c (patch)
tree63ae29f792050fdc974f670fbafa22204a3cf110
parentb33752051f9ee0bb4d0f8a78e7cafd9bbc8fa1b7 (diff)
downloadmtk-20170518-08436887fb170febd8aecb62ff326f4b7178419c.zip
mtk-20170518-08436887fb170febd8aecb62ff326f4b7178419c.tar.gz
mtk-20170518-08436887fb170febd8aecb62ff326f4b7178419c.tar.bz2
scripts/feeds: add support for optionally using a full clone of git repositories
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45668
-rwxr-xr-xscripts/feeds9
1 files changed, 8 insertions, 1 deletions
diff --git a/scripts/feeds b/scripts/feeds
index 785be38..89cb5a2 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",