Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update bindings for 0.25.1 #4

Merged
merged 25 commits into from
Jun 21, 2017
Merged

Update bindings for 0.25.1 #4

merged 25 commits into from
Jun 21, 2017

Conversation

Weyzu
Copy link

@Weyzu Weyzu commented Jun 20, 2017

Following up from PR: s-ludwig/dlibgit/pull/9

These are the updates for larger support of libgit2 0.25.1 that I managed to finish, up until now. There is still work to be done, as I am more or less 33% done (counting by modules to do, not actual lines of code).

I made one commit per one module. Commits have descriptive messages so that changes and additions can be searched from within the git log. IMO, it helps in checking when, if and where a binding was added.

Weyzu added 25 commits June 19, 2017 12:20
This commit marks also the addition of deimos.git2.sys.transport module.
Following enums were updated:

    * git_branch_t
    * git_filemode_t
    * git_ref_t (detabify)
    * git_submodule_update_t
    * git_submodule_ignore_t

Enums added:

    * git_submodule_recurse_t
git_transfer_progress_callback was renamed to git_transfer_progress_cb.
The following change required a name update in:

    * deimos.git2.indexer
    * deimos.git2.odb
    * deimos.git2.pack
    * deimos.git2.sys/odb_backend
    * deimos.git2.transport

One function binding was added to the module:

    * git_transport_message_cb

Four structs were added:

    * git_annotated_commit
    * git_transaction
    * git_transport
    * git_writestream

Conflicting legacy git_transport struct and git_transport_message_cb
were removed from deimos.git2.transport.
git_blob_create_fromchunks was removed along with git_blob_chunk_cb. The
function was removed from libgit2 in version 0.24.4.

Three new function bindings were added to the module:

    * git_blob_create_fromstream
    * git_blob_create_fromstream_commit
    * git_blob_dup
Two enums were updated:

    * git_status_t
    * git_status_opt_t

One new function binding was added: git_status_init_options.
git_libgit2_capabilities was renamed to git_libgit2_features.
Additionally, the git_libgit2_opt_t enum was extended.
Two new functino bindings were added:

    * git_buf_is_binary
    * git_buf_contains_nul
Two function bindings were updated:

    * git_repository_discover
    * git_repository_message

Three enums were updated as well:

    * git_repository_open_flag_t
    * git_repository_init_flag_t
    * git_repository_state_t

Foure new function bindings were added:

    * git_repository_init_init_options
    * git_repository_config_snapshot
    * git_repository_ident
    * git_repository_set_ident

Function binding git_repository_merge_cleanup was renamed to
git_repository_state_cleanup. Some additional formatting was done, so
that it represents the original function layout of libgit2.
One enum was updated:

    * git_blame_flag_t

One new function binding was added:

    * git_blame_init_options

Two function bindings were updated:

    * git_blame_get_hunk_byline
    * git_blame_buffer

Two structs updated:

    * git_blame_hunk
    * git_blame_options
Module holds bindings for `annotated` API functions that were introduced
in v0.22.0 of libgit2.
Function binding git_oid_allocfmt was renamed to git_oid_tostr_s.
Additionally, git_oid_equal was converted from inline to a regular
function binding.
Only git_message_prettify function binding was updated.
Two new function bindings were added:

    * git_branch_create_from_annotated
    * git_branch_upstream_remote

Five function bindings were updated:

    * git_branch_name
    * git_branch_upstream
    * git_branch_upstream_name
    * git_branch_is_head
    * git_branch_remote_name
Three new function bindings were added:

    * git_packbuilder_insert_walk
    * git_packbuilder_insert_recur
    * git_packbuilder_write_buf

Three function bindings were updated:

    * git_packbuilder_object_count
    * git_packbuilder_written
    * git_packbuilder_progress
Module holds bindings for `proxy` API functions that were introduced
in v0.25.0 of libgit2.
Following bindings were added:
    * git_fetch_options
    * git_fetch_prune_t
    * git_push_init_options
    * git_push_negotiation
    * git_push_transfer_progress
    * git_push_update
    * git_remote_default_branch
    * git_remote_delete
    * git_remote_dup
    * git_remote_init_callbacks
    * git_remote_prune
    * git_remote_prune_refs
    * git_remote_push
    * git_remote_set_autotag
    * git_remote_set_update_fetchhead
    * git_remote_update_fetchhead
    * git_remote_upload

Following bindings were removed:
    * git_remote_check_cert
    * git_remote_clear_refspecs
    * git_remote_connected
    * git_remote_rename_problem_cb
    * git_remote_save
    * git_remote_set_callbacks
    * git_remote_set_transport
    * git_remote_stats
    * git_remote_supported_url
    * git_remote_valid_url

Following bindings were updated:
    * git_remote_add_fetch
    * git_remote_add_push
    * git_remote_autotag
    * git_remote_autotag_option_t
    * git_remote_callbacks
    * git_remote_connect
    * git_remote_download
    * git_remote_fetch
    * git_remote_get_fetch_refspecs
    * git_remote_get_push_refspecs
    * git_remote_get_refspec
    * git_remote_refspec_count
    * git_remote_rename
    * git_remote_set_pushurl
    * git_remote_set_url
    * git_remote_update_tips

And two bindings were renamed:
    * git_remote_create_inmemory -> git_remote_create_anonymous
    * git_remote_load -> git_remote_lookup
Struct git_remote_head was updated.
git_reflog_append_to function binding was removed.
git_reflog_entry_byindex function binding was updated.
Updated git_checkout_strategy_t enum.

New structs:
    * git_checkout_perfdata

New callback bindings:
    * git_checkout_perfdata_cb

New function bindings:
    * git_checkout_init_options

Renamed:
    * git_checkout_opts struct --> git_checkout_options.
    * GIT_CHECKOUT_OPTS_VERSION --> GIT_CHECKOUT_OPTIONS_VERSION.
    * GIT_CHECKOUT_OPTS_INIT --> GIT_CHECKOUT_OPTIONS_INIT
Updated the git_cred_userpass_payload struct.
Added git_filter_flag_t enum. Added following new function bindings:

    * git_filter_list_stream_data
    * git_filter_list_stream_file
    * git_filter_list_stream_blob

Updated git_filter_list_load function binding.
Added function callbacks:
    * git_remote_create_cb
    * git_repository_create_cb

Updated:
    * git_clone_options
    * GIT_CLONE_OPTIONS_INIT
    * git_clone

Added function binding git_clone_init_options.

Removed git_clone_into binding.
Added bindings for:
    * git_commit_summary
    * git_commit_body
    * git_commit_header_field
    * git_commit_extract_signature
    * git_commit_amend
    * git_commit_create_buffer
    * git_commit_create_with_signature
    * git_commit_dup

Updated bindings:
    * git_commit_create
    * git_commit_create_v
Added binding git_object_short_id.
Module holds bindings for `rebase` API functions that were introduced
in v0.22.0 of libgit2.
@s-ludwig
Copy link
Owner

Thanks! Going to merge this as-is for now. I'll try to follow up with own additions or fixes when I get the time to actually test this.

@s-ludwig s-ludwig merged commit 119caf9 into s-ludwig:0.25 Jun 21, 2017
@s-ludwig
Copy link
Owner

Looks like there are still some omissions: https://travis-ci.org/s-ludwig/libgit2/builds/245371797

@Weyzu
Copy link
Author

Weyzu commented Jun 21, 2017

Ah, sorry. I'll post fixes to those issues in a couple of hours.

Also, the build seems to be downloading v0.20.0 of libgit2.

@s-ludwig
Copy link
Owner

Okay, great. I've pushed a fix for the libgit version: https://travis-ci.org/s-ludwig/libgit2/builds/245374195

@Weyzu Weyzu mentioned this pull request Jun 22, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants