@@ -198,6 +198,10 @@ git_enum! {
198198 GIT_EINDEXDIRTY = -34 ,
199199 GIT_EAPPLYFAIL = -35 ,
200200 GIT_EOWNER = -36 ,
201+ GIT_TIMEOUT = -37 ,
202+ GIT_EUNCHANGED = -38 ,
203+ GIT_ENOTSUPPORTED = -39 ,
204+ GIT_EREADONLY = -40 ,
201205 }
202206}
203207
@@ -366,6 +370,13 @@ pub struct git_indexer_options {
366370
367371pub type git_remote_ready_cb = Option < extern "C" fn ( * mut git_remote , c_int , * mut c_void ) -> c_int > ;
368372
373+ git_enum ! {
374+ pub enum git_remote_update_flags {
375+ GIT_REMOTE_UPDATE_FETCHHEAD = 1 << 0 ,
376+ GIT_REMOTE_UPDATE_REPORT_UNCHANGED = 1 << 1 ,
377+ }
378+ }
379+
369380#[ repr( C ) ]
370381pub struct git_remote_callbacks {
371382 pub version : c_uint ,
@@ -391,7 +402,7 @@ pub struct git_fetch_options {
391402 pub version : c_int ,
392403 pub callbacks : git_remote_callbacks ,
393404 pub prune : git_fetch_prune_t ,
394- pub update_fetchhead : c_int ,
405+ pub update_fetchhead : c_uint ,
395406 pub download_tags : git_remote_autotag_option_t ,
396407 pub proxy_opts : git_proxy_options ,
397408 pub depth : c_int ,
@@ -855,10 +866,11 @@ pub struct git_index_time {
855866pub struct git_config_entry {
856867 pub name : * const c_char ,
857868 pub value : * const c_char ,
869+ pub backend_type : * const c_char ,
870+ pub origin_path : * const c_char ,
858871 pub include_depth : c_uint ,
859872 pub level : git_config_level_t ,
860873 pub free : Option < extern "C" fn ( * mut git_config_entry ) > ,
861- pub payload : * mut c_void ,
862874}
863875
864876git_enum ! {
@@ -868,7 +880,8 @@ git_enum! {
868880 GIT_CONFIG_LEVEL_XDG = 3 ,
869881 GIT_CONFIG_LEVEL_GLOBAL = 4 ,
870882 GIT_CONFIG_LEVEL_LOCAL = 5 ,
871- GIT_CONFIG_LEVEL_APP = 6 ,
883+ GIT_CONFIG_LEVEL_WORKTREE = 6 ,
884+ GIT_CONFIG_LEVEL_APP = 7 ,
872885 GIT_CONFIG_HIGHEST_LEVEL = -1 ,
873886 }
874887}
@@ -981,6 +994,7 @@ pub struct git_push_options {
981994 pub proxy_opts : git_proxy_options ,
982995 pub follow_redirects : git_remote_redirect_t ,
983996 pub custom_headers : git_strarray ,
997+ pub remote_push_options : git_strarray ,
984998}
985999
9861000pub type git_tag_foreach_cb =
@@ -1947,6 +1961,14 @@ git_enum! {
19471961 GIT_OPT_SET_EXTENSIONS ,
19481962 GIT_OPT_GET_OWNER_VALIDATION ,
19491963 GIT_OPT_SET_OWNER_VALIDATION ,
1964+ GIT_OPT_GET_HOMEDIR ,
1965+ GIT_OPT_SET_HOMEDIR ,
1966+ GIT_OPT_SET_SERVER_CONNECT_TIMEOUT ,
1967+ GIT_OPT_GET_SERVER_CONNECT_TIMEOUT ,
1968+ GIT_OPT_SET_SERVER_TIMEOUT ,
1969+ GIT_OPT_GET_SERVER_TIMEOUT ,
1970+ GIT_OPT_SET_USER_AGENT_PRODUCT ,
1971+ GIT_OPT_GET_USER_AGENT_PRODUCT ,
19501972 }
19511973}
19521974
@@ -1963,6 +1985,7 @@ git_enum! {
19631985pub struct git_worktree_add_options {
19641986 pub version : c_uint ,
19651987 pub lock : c_int ,
1988+ pub checkout_existing : c_int ,
19661989 pub reference : * mut git_reference ,
19671990 pub checkout_options : git_checkout_options ,
19681991}
@@ -2326,7 +2349,7 @@ extern "C" {
23262349 pub fn git_remote_update_tips (
23272350 remote : * mut git_remote ,
23282351 callbacks : * const git_remote_callbacks ,
2329- update_fetchead : c_int ,
2352+ update_flags : c_uint ,
23302353 download_tags : git_remote_autotag_option_t ,
23312354 reflog_message : * const c_char ,
23322355 ) -> c_int ;
@@ -2882,7 +2905,7 @@ extern "C" {
28822905 message : * const c_char ,
28832906 tree : * const git_tree ,
28842907 parent_count : size_t ,
2885- parents : * mut * const git_commit ,
2908+ parents : * const * mut git_commit ,
28862909 ) -> c_int ;
28872910 pub fn git_commit_create_buffer (
28882911 out : * mut git_buf ,
@@ -2893,7 +2916,7 @@ extern "C" {
28932916 message : * const c_char ,
28942917 tree : * const git_tree ,
28952918 parent_count : size_t ,
2896- parents : * mut * const git_commit ,
2919+ parents : * const * mut git_commit ,
28972920 ) -> c_int ;
28982921 pub fn git_commit_header_field (
28992922 out : * mut git_buf ,
0 commit comments