diff options
Diffstat (limited to 'lib/gitano/repository.lua')
-rw-r--r-- | lib/gitano/repository.lua | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/gitano/repository.lua b/lib/gitano/repository.lua index 796e162..5d4a194 100644 --- a/lib/gitano/repository.lua +++ b/lib/gitano/repository.lua @@ -381,6 +381,24 @@ function repo_method:populate_context(context) context["owner"] = self:conf_get "project.owner" end context["_repo"] = self + if not self.is_nascent then + local lists_to_add = {} + for k, v in self.project_config:each() do + if k:match("%.i_[0-9]+$") then + lists_to_add[k:gsub("%.i_[0-9]+$", "")] = true + else + local confkey = "config/" .. k:gsub("%.", "/") + context[confkey] = v + end + end + for k in pairs(lists_to_add) do + local confkey = "config/" .. k:gsub("%.", "/") + local vallist = self.project_config:get_list(k) + local valset = {} + for _, v in pairs(vallist) do valset[v] = true end + context[confkey] = valset + end + end end function repo_method:realise() |