From: Tobias Ulmer Date: Wed, 6 Mar 2019 18:03:10 +0000 (+0100) Subject: generic_git: add git_url_cache to turn server:location into git url X-Git-Tag: e2factory-2.3.18rc1~23 X-Git-Url: https://git.e2factory.org/?a=commitdiff_plain;h=f50036fff816dcc6d613460218443a0812481690;p=e2factory.git generic_git: add git_url_cache to turn server:location into git url Signed-off-by: Tobias Ulmer --- diff --git a/generic/generic_git.lua b/generic/generic_git.lua index a777823..441479b 100644 --- a/generic/generic_git.lua +++ b/generic/generic_git.lua @@ -560,6 +560,30 @@ function generic_git.git_url1(u) return giturl end +-- Generate git URL string from cache/server/location. +-- @param c table: a cache +-- @param server string: server name +-- @param location string: location +-- @return string: the git url, or nil +-- @return an error object on failure +function generic_git.git_url_cache(c, server, location) + local rc, re, rurl, u, giturl + + rurl, re = cache.remote_url(c, server, location) -- takes care of asserts + if not rurl then + return false, re + end + u, re = url.parse(rurl) + if not u then + return false, re + end + giturl, re = generic_git.git_url1(u) + if not giturl then + return false, re + end + return giturl +end + --- clone a git repository by server and location -- @param c Cache -- @param server