@@ -103,3 +103,33 @@ void git2_parse_checkout_options(git_checkout_options *opts, HashTable *ht) {
103103 ARRAY_FETCH_CALLBACK (perfdata_cb , perfdata_payload );
104104}
105105
106+ void git2_parse_fetch_options (git_fetch_options * opts , HashTable * ht ) {
107+ zval * data ;
108+
109+ if (ht == NULL ) return ; // skip if null
110+
111+ ARRAY_FETCH_OPTIONS (callbacks , git2_parse_remote_callbacks );
112+ ARRAY_FETCH_LONG (prune );
113+ ARRAY_FETCH_BOOL (update_fetchhead );
114+ ARRAY_FETCH_LONG (download_tags );
115+ ARRAY_FETCH_STRARRAY (custom_headers );
116+ }
117+
118+ void git2_parse_remote_callbacks (git_remote_callbacks * opts , HashTable * ht ) {
119+ zval * data ;
120+
121+ if (ht == NULL ) return ; // skip if null
122+
123+ ARRAY_FETCH_CALLBACK (sideband_progress , payload );
124+ ARRAY_FETCH_CALLBACK (completion , payload );
125+ ARRAY_FETCH_CALLBACK (credentials , payload );
126+ ARRAY_FETCH_CALLBACK (certificate_check , payload );
127+ ARRAY_FETCH_CALLBACK (transfer_progress , payload );
128+ ARRAY_FETCH_CALLBACK (update_tips , payload );
129+ ARRAY_FETCH_CALLBACK (pack_progress , payload );
130+ ARRAY_FETCH_CALLBACK (push_transfer_progress , payload );
131+ ARRAY_FETCH_CALLBACK (push_update_reference , payload );
132+ ARRAY_FETCH_CALLBACK (push_negotiation , payload );
133+ ARRAY_FETCH_CALLBACK (transport , payload );
134+ }
135+
0 commit comments