1 | -- resty-gitweb@git/repo.lua |
2 | -- git repository utilities |
3 |
|
4 | -- Copyright (c) 2020 Joshua 'joshuas3' Stockin |
5 | -- <https://git.joshstock.in/resty-gitweb> |
6 | -- This software is licensed under the MIT License. |
7 |
|
8 | local ffi = require("ffi") |
9 | local git2_error = require("git/git2_error") |
10 |
|
11 | local _M = {} |
12 |
|
13 | -- Returns [bool exists, git_repository* repo] |
14 | _M.open = function(repo_dir) |
15 | local repo_obj = ffi.new("git_repository*[1]") |
16 | err = git2.git_repository_open(ffi.cast("git_repository**", repo_obj), repo_dir) |
17 | git2_error(err, "Failed to open repository at "..repo_dir) |
18 | return repo_obj[0] |
19 | end |
20 |
|
21 | _M.free = function(repo_obj) |
22 | git2.git_repository_free(repo_obj) |
23 | end |
24 |
|
25 | return _M |
26 |
|