aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lpm.lua5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lpm.lua b/src/lpm.lua
index d0f7122..eb9ade2 100644
--- a/src/lpm.lua
+++ b/src/lpm.lua
@@ -815,7 +815,6 @@ end
function Repository.__index(self, idx) return rawget(self, idx) or Repository[idx] end
function Repository.new(hash)
if not hash.remote then error("requires a remote") end
- if not hash.commit and not hash.branch then error("requires either a branch or commit specifier") end
if not hash.remote:find("^%w+:") and system.stat(hash.remote .. "/.git") then hash.remote = "file://" .. system.stat(hash.remote).abs_path end
if not hash.remote:find("^https?:") and not hash.remote:find("^file:") then error("only repositories with http and file transports are supported (" .. hash.remote .. ")") end
local self = setmetatable({
@@ -837,7 +836,9 @@ function Repository.new(hash)
error("can't find branch for " .. self.remote .. " in " .. self.repo_path)
end
end
- self.local_path = self.repo_path .. PATHSEP .. (self.commit or self.branch)
+ if self.commit or self.branch then
+ self.local_path = self.repo_path .. PATHSEP .. (self.commit or self.branch)
+ end
return self
end