diff options
author | Robert G. Jakabosky <bobby@sharedrealm.com> | 2012-06-07 19:14:05 -0700 |
---|---|---|
committer | Robert G. Jakabosky <bobby@sharedrealm.com> | 2012-06-07 19:14:05 -0700 |
commit | 9d9783ef0378493cf6ae8ed2ec7e53a4c9e160f0 (patch) | |
tree | bc6cb65204e83d7073fb1026b6404ae4fe378a48 /src | |
parent | dccaacb3ba8ff3cc2cd6f2c58372aa2bf27bf190 (diff) | |
download | luagit2-9d9783ef0378493cf6ae8ed2ec7e53a4c9e160f0.tar.gz |
Support libgit2 v0.17.0
Diffstat (limited to 'src')
-rw-r--r-- | src/config.nobj.lua | 16 | ||||
-rw-r--r-- | src/error.nobj.lua | 33 | ||||
-rw-r--r-- | src/odb_backend.nobj.lua | 16 | ||||
-rw-r--r-- | src/reference.nobj.lua | 10 | ||||
-rw-r--r-- | src/tree_entry.nobj.lua | 2 |
5 files changed, 51 insertions, 26 deletions
diff --git a/src/config.nobj.lua b/src/config.nobj.lua index aa5086e..641a8d8 100644 --- a/src/config.nobj.lua +++ b/src/config.nobj.lua @@ -37,16 +37,16 @@ typedef git_config Config; { "const char *", "path", "int", "priority" }, }, method "get_int32" { - c_method_call { "GitError", "err"} "git_config_get_int32" - { "const char *", "name", "int32_t>1", "&out" }, + c_call { "GitError", "err"} "git_config_get_int32" + { "int32_t>1", "&out", "Config *", "this", "const char *", "name", }, }, method "set_int32" { c_method_call { "GitError", "err"} "git_config_set_int32" { "const char *", "name", "int32_t", "value" }, }, method "get_int64" { - c_method_call { "GitError", "err"} "git_config_get_int64" - { "const char *", "name", "int64_t>1", "&out" }, + c_call { "GitError", "err"} "git_config_get_int64" + { "int64_t>1", "&out", "Config *", "this", "const char *", "name", }, }, method "set_int64" { c_method_call { "GitError", "err"} "git_config_set_int64" @@ -54,8 +54,8 @@ typedef git_config Config; }, method "get_bool" { var_out{"bool", "out"}, - c_method_call { "GitError", "err"} "git_config_get_bool" - { "const char *", "name", "int", "(&out_int)" }, + c_call { "GitError", "err"} "git_config_get_bool" + { "int", "(&out_int)", "Config *", "this", "const char *", "name", }, c_source[[ ${out} = ${out_int}; ]], @@ -69,8 +69,8 @@ typedef git_config Config; { "const char *", "name", "int", "(value_int)" }, }, method "get_string" { - c_method_call { "GitError", "err"} "git_config_get_string" - { "const char *", "name", "const char *>1", "&out" }, + c_call { "GitError", "err"} "git_config_get_string" + { "const char *>1", "&out", "Config *", "this", "const char *", "name", }, }, method "set_string" { c_method_call { "GitError", "err"} "git_config_set_string" diff --git a/src/error.nobj.lua b/src/error.nobj.lua index 110de70..3338b5d 100644 --- a/src/error.nobj.lua +++ b/src/error.nobj.lua @@ -20,11 +20,36 @@ -- Convert Git Error codes into strings. error_code "GitError" "int" { - is_error_check = function(rec) return "(GIT_SUCCESS != ${" .. rec.name .. "})" end, - default = "GIT_SUCCESS", + is_error_check = function(rec) return "(GIT_OK != ${" .. rec.name .. "})" end, + default = "GIT_OK", c_source [[ - if(err != GIT_SUCCESS) { - err_str = git_strerror(err); + const git_error *giterr; + switch(err) { + case GIT_ERROR: + giterr = giterr_last(); + err_str = giterr->message; + break; + case GIT_ENOTFOUND: + err_str = "ENOTFOUND"; + break; + case GIT_EEXISTS: + err_str = "EEXISTS"; + break; + case GIT_EAMBIGUOUS: + err_str = "EAMBIGUOUS"; + break; + case GIT_EBUFS: + err_str = "EBUFS"; + break; + case GIT_PASSTHROUGH: + err_str = "PASSTHROUGH"; + break; + case GIT_REVWALKOVER: + err_str = "REVWALKOVER"; + break; + case GIT_OK: + default: + break; } ]], } diff --git a/src/odb_backend.nobj.lua b/src/odb_backend.nobj.lua index 57b6912..edc3c45 100644 --- a/src/odb_backend.nobj.lua +++ b/src/odb_backend.nobj.lua @@ -81,11 +81,11 @@ static int odb_backend_read_cb(void **data_p, size_t *len_p, git_otype *type_p, data = malloc(len); *data_p = data; if(data == NULL) { - return GIT_ENOMEM; + return GIT_EBUFS; //GIT_ENOMEM; } /* copy data. */ memcpy(data, ldata, len); - err = GIT_SUCCESS; + err = GIT_OK; } else if(lua_isnil(L, -2)) { *data_p = NULL; /* backend returned an error. */ @@ -93,7 +93,7 @@ static int odb_backend_read_cb(void **data_p, size_t *len_p, git_otype *type_p, } else { *data_p = NULL; /* bad return value from lua backend. */ - err = GIT_EOBJTYPE; + err = GIT_EAMBIGUOUS; //GIT_EOBJTYPE; } return err; @@ -104,12 +104,12 @@ static int odb_backend_read_prefix_cb(git_oid *out_oid, void **data_p, size_t *l *data_p = NULL; if(len >= GIT_OID_HEXSZ) { int rc = odb_backend_read_cb(data_p, len_p, type_p, backend, short_oid); - if(rc == GIT_SUCCESS) { + if(rc == GIT_OK) { git_oid_cpy(out_oid, short_oid); } return rc; } - return GIT_ENOTIMPLEMENTED; + return GIT_EAMBIGUOUS; //GIT_ENOTIMPLEMENTED; } static int odb_backend_read_header_cb(size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid) @@ -137,13 +137,13 @@ static int odb_backend_read_header_cb(size_t *len_p, git_otype *type_p, git_odb_ } else if(arg_type == LUA_TSTRING) { *type_p = git_object_string2type(lua_tostring(L, -1)); } - err = GIT_SUCCESS; + err = GIT_OK; } else if(arg_type == LUA_TNIL) { /* backend returned an error. */ err = lua_tointeger(L, -1); } else { /* bad return value from lua backend. */ - err = GIT_EOBJTYPE; + err = GIT_EAMBIGUOUS; //GIT_EOBJTYPE; } return err; @@ -167,7 +167,7 @@ static int odb_backend_write_cb(git_oid *oid, git_odb_backend *backend, const vo lua_call(L, 2, 2); if(!lua_isnil(L, -2)) { *oid = obj_type_OID_check(L,-2); - err = GIT_SUCCESS; + err = GIT_OK; } else { err = lua_tointeger(L, -1); } diff --git a/src/reference.nobj.lua b/src/reference.nobj.lua index 1d5136f..45d7cfd 100644 --- a/src/reference.nobj.lua +++ b/src/reference.nobj.lua @@ -19,7 +19,7 @@ -- THE SOFTWARE. object "Reference" { - basetype "git_rtype" "integer", + basetype "git_ref_t" "integer", c_source [[ typedef git_reference Reference; ]], @@ -40,7 +40,7 @@ typedef git_reference Reference; c_method_call "GitError" "git_reference_set_target" { "const char *", "target" } }, method "type" { - c_method_call "git_rtype" "git_reference_type" {} + c_method_call "git_ref_t" "git_reference_type" {} }, method "name" { c_method_call "const char *" "git_reference_name" {} @@ -61,7 +61,7 @@ typedef git_reference Reference; c_function "packall" { c_call "GitError" "git_reference_packall" { "Repository *", "repo" } }, - c_function "listall" { + c_function "list" { var_in{ "Repository *", "repo" }, var_in{ "unsigned int", "list_flags" }, var_out{ "StrArray *", "array" }, @@ -72,8 +72,8 @@ typedef git_reference Reference; c_source[[ /* push this onto stack now, just encase there is a out-of-memory error. */ ${array} = obj_type_StrArray_push(L, &tmp_array); - ${err} = git_reference_listall(${array}, ${repo}, ${list_flags}); - if(${err} == GIT_SUCCESS) { + ${err} = git_reference_list(${array}, ${repo}, ${list_flags}); + if(${err} == GIT_OK) { return 1; /* array is already on the stack. */ } else { /* there is an error remove the temp array from stack. */ diff --git a/src/tree_entry.nobj.lua b/src/tree_entry.nobj.lua index c0aa1c0..22371f7 100644 --- a/src/tree_entry.nobj.lua +++ b/src/tree_entry.nobj.lua @@ -33,7 +33,7 @@ typedef git_tree_entry TreeEntry; c_source "${id} = *(git_tree_entry_id(${this}));" }, method "object" { - c_call "GitError" "git_tree_entry_2object" + c_call "GitError" "git_tree_entry_to_object" { "!Object *", "&obj>1", "Repository *", "repo", "TreeEntry *", "this" } }, } |