aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2014-01-15 01:58:04 -0200
committerHisham Muhammad <hisham@gobolinux.org>2014-01-15 01:58:04 -0200
commit304987887671d67181846b9d321cd91d54840ed8 (patch)
treee93215c556352d4e55f43c5ac23560bd819e552b
parentc358d9be5149fedbdb056045d3d4bb9821b0ad70 (diff)
downloadluarocks-304987887671d67181846b9d321cd91d54840ed8.tar.gz
luarocks-304987887671d67181846b9d321cd91d54840ed8.tar.bz2
luarocks-304987887671d67181846b9d321cd91d54840ed8.zip
Add git+http fetch module to be used in case of "git clone http://..." URLs.
-rw-r--r--src/luarocks/fetch/git.lua4
-rw-r--r--src/luarocks/fetch/git_http.lua17
2 files changed, 19 insertions, 2 deletions
diff --git a/src/luarocks/fetch/git.lua b/src/luarocks/fetch/git.lua
index 90d4eea8..1845363f 100644
--- a/src/luarocks/fetch/git.lua
+++ b/src/luarocks/fetch/git.lua
@@ -27,7 +27,7 @@ end
27-- @return (string, string) or (nil, string): The absolute pathname of 27-- @return (string, string) or (nil, string): The absolute pathname of
28-- the fetched source tarball and the temporary directory created to 28-- the fetched source tarball and the temporary directory created to
29-- store it; or nil and an error message. 29-- store it; or nil and an error message.
30function get_sources(rockspec, extract, dest_dir) 30function get_sources(rockspec, extract, dest_dir, depth)
31 assert(type(rockspec) == "table") 31 assert(type(rockspec) == "table")
32 assert(type(dest_dir) == "string" or not dest_dir) 32 assert(type(dest_dir) == "string" or not dest_dir)
33 33
@@ -51,7 +51,7 @@ function get_sources(rockspec, extract, dest_dir)
51 local ok, err = fs.change_dir(store_dir) 51 local ok, err = fs.change_dir(store_dir)
52 if not ok then return nil, err end 52 if not ok then return nil, err end
53 53
54 local command = {git_cmd, "clone", "--depth=1", rockspec.source.url, module} 54 local command = {git_cmd, "clone", depth or "--depth=1", rockspec.source.url, module}
55 local tag_or_branch = rockspec.source.tag or rockspec.source.branch 55 local tag_or_branch = rockspec.source.tag or rockspec.source.branch
56 -- If the tag or branch is explicitly set to "master" in the rockspec, then 56 -- If the tag or branch is explicitly set to "master" in the rockspec, then
57 -- we can avoid passing it to Git since it's the default. 57 -- we can avoid passing it to Git since it's the default.
diff --git a/src/luarocks/fetch/git_http.lua b/src/luarocks/fetch/git_http.lua
new file mode 100644
index 00000000..19de70ab
--- /dev/null
+++ b/src/luarocks/fetch/git_http.lua
@@ -0,0 +1,17 @@
1
2--- Fetch back-end for retrieving sources from local Git repositories.
3module("luarocks.fetch.git_http", package.seeall)
4
5local git = require("luarocks.fetch.git")
6
7--- Fetch sources for building a rock from a local Git repository.
8-- @param rockspec table: The rockspec table
9-- @param extract boolean: Unused in this module (required for API purposes.)
10-- @param dest_dir string or nil: If set, will extract to the given directory.
11-- @return (string, string) or (nil, string): The absolute pathname of
12-- the fetched source tarball and the temporary directory created to
13-- store it; or nil and an error message.
14function get_sources(rockspec, extract, dest_dir)
15 rockspec.source.url = rockspec.source.url:gsub("^git.", "")
16 return git.get_sources(rockspec, extract, dest_dir, "--")
17end