1 /*
2  * Copyright (C) the libgit2 contributors. All rights reserved.
3  *
4  * This file is part of libgit2, distributed under the GNU GPL v2 with
5  * a Linking Exception. For full terms see the included COPYING file.
6  */
7 #ifndef INCLUDE_git_deprecated_h__
8 #define INCLUDE_git_deprecated_h__
9 
10 #include "attr.h"
11 #include "config.h"
12 #include "common.h"
13 #include "blame.h"
14 #include "buffer.h"
15 #include "checkout.h"
16 #include "cherrypick.h"
17 #include "clone.h"
18 #include "describe.h"
19 #include "diff.h"
20 #include "errors.h"
21 #include "index.h"
22 #include "indexer.h"
23 #include "merge.h"
24 #include "object.h"
25 #include "proxy.h"
26 #include "refs.h"
27 #include "rebase.h"
28 #include "remote.h"
29 #include "trace.h"
30 #include "repository.h"
31 #include "revert.h"
32 #include "stash.h"
33 #include "status.h"
34 #include "submodule.h"
35 #include "worktree.h"
36 #include "credential.h"
37 #include "credential_helpers.h"
38 
39 /*
40  * Users can avoid deprecated functions by defining `GIT_DEPRECATE_HARD`.
41  */
42 #ifndef GIT_DEPRECATE_HARD
43 
44 /*
45  * The credential structures are now opaque by default, and their
46  * definition has moved into the `sys/credential.h` header; include
47  * them here for backward compatibility.
48  */
49 #include "sys/credential.h"
50 
51 /**
52  * @file git2/deprecated.h
53  * @brief libgit2 deprecated functions and values
54  * @ingroup Git
55  * @{
56  */
57 GIT_BEGIN_DECL
58 
59 /** @name Deprecated Attribute Constants
60  *
61  * These enumeration values are retained for backward compatibility.
62  * The newer versions of these functions should be preferred in all
63  * new code.
64  *
65  * There is no plan to remove these backward compatibility values at
66  * this time.
67  */
68 /**@{*/
69 
70 #define GIT_ATTR_UNSPECIFIED_T GIT_ATTR_VALUE_UNSPECIFIED
71 #define GIT_ATTR_TRUE_T GIT_ATTR_VALUE_TRUE
72 #define GIT_ATTR_FALSE_T GIT_ATTR_VALUE_FALSE
73 #define GIT_ATTR_VALUE_T GIT_ATTR_VALUE_STRING
74 
75 #define GIT_ATTR_TRUE(attr) GIT_ATTR_IS_TRUE(attr)
76 #define GIT_ATTR_FALSE(attr) GIT_ATTR_IS_FALSE(attr)
77 #define GIT_ATTR_UNSPECIFIED(attr) GIT_ATTR_IS_UNSPECIFIED(attr)
78 
79 typedef git_attr_value_t git_attr_t;
80 
81 /**@}*/
82 
83 /** @name Deprecated Blob Functions
84  *
85  * These functions are retained for backward compatibility.  The newer
86  * versions of these functions should be preferred in all new code.
87  *
88  * There is no plan to remove these backward compatibility values at
89  * this time.
90  */
91 /**@{*/
92 
93 GIT_EXTERN(int) git_blob_create_fromworkdir(git_oid *id, git_repository *repo, const char *relative_path);
94 GIT_EXTERN(int) git_blob_create_fromdisk(git_oid *id, git_repository *repo, const char *path);
95 GIT_EXTERN(int) git_blob_create_fromstream(
96 	git_writestream **out,
97 	git_repository *repo,
98 	const char *hintpath);
99 GIT_EXTERN(int) git_blob_create_fromstream_commit(
100 	git_oid *out,
101 	git_writestream *stream);
102 GIT_EXTERN(int) git_blob_create_frombuffer(
103 	git_oid *id, git_repository *repo, const void *buffer, size_t len);
104 
105 /** Deprecated in favor of `git_blob_filter`.
106  *
107  * @deprecated Use git_blob_filter
108  * @see git_blob_filter
109  */
110 GIT_EXTERN(int) git_blob_filtered_content(
111 	git_buf *out,
112 	git_blob *blob,
113 	const char *as_path,
114 	int check_for_binary_data);
115 
116 /**@}*/
117 
118 /** @name Deprecated Buffer Functions
119  *
120  * These functions and enumeration values are retained for backward
121  * compatibility.  The newer versions of these functions should be
122  * preferred in all new code.
123  *
124  * There is no plan to remove these backward compatibility values at
125  * this time.
126  */
127 /**@{*/
128 
129 /**
130  * Free the memory referred to by the git_buf.  This is an alias of
131  * `git_buf_dispose` and is preserved for backward compatibility.
132  *
133  * This function is deprecated, but there is no plan to remove this
134  * function at this time.
135  *
136  * @deprecated Use git_buf_dispose
137  * @see git_buf_dispose
138  */
139 GIT_EXTERN(void) git_buf_free(git_buf *buffer);
140 
141 /**@}*/
142 
143 /** @name Deprecated Config Functions and Constants
144  */
145 /**@{*/
146 
147 #define GIT_CVAR_FALSE  GIT_CONFIGMAP_FALSE
148 #define GIT_CVAR_TRUE   GIT_CONFIGMAP_TRUE
149 #define GIT_CVAR_INT32  GIT_CONFIGMAP_INT32
150 #define GIT_CVAR_STRING GIT_CONFIGMAP_STRING
151 
152 typedef git_configmap git_cvar_map;
153 
154 /**@}*/
155 
156 /** @name Deprecated Error Functions and Constants
157  *
158  * These functions and enumeration values are retained for backward
159  * compatibility.  The newer versions of these functions and values
160  * should be preferred in all new code.
161  *
162  * There is no plan to remove these backward compatibility values at
163  * this time.
164  */
165 /**@{*/
166 
167 #define GITERR_NONE GIT_ERROR_NONE
168 #define GITERR_NOMEMORY GIT_ERROR_NOMEMORY
169 #define GITERR_OS GIT_ERROR_OS
170 #define GITERR_INVALID GIT_ERROR_INVALID
171 #define GITERR_REFERENCE GIT_ERROR_REFERENCE
172 #define GITERR_ZLIB GIT_ERROR_ZLIB
173 #define GITERR_REPOSITORY GIT_ERROR_REPOSITORY
174 #define GITERR_CONFIG GIT_ERROR_CONFIG
175 #define GITERR_REGEX GIT_ERROR_REGEX
176 #define GITERR_ODB GIT_ERROR_ODB
177 #define GITERR_INDEX GIT_ERROR_INDEX
178 #define GITERR_OBJECT GIT_ERROR_OBJECT
179 #define GITERR_NET GIT_ERROR_NET
180 #define GITERR_TAG GIT_ERROR_TAG
181 #define GITERR_TREE GIT_ERROR_TREE
182 #define GITERR_INDEXER GIT_ERROR_INDEXER
183 #define GITERR_SSL GIT_ERROR_SSL
184 #define GITERR_SUBMODULE GIT_ERROR_SUBMODULE
185 #define GITERR_THREAD GIT_ERROR_THREAD
186 #define GITERR_STASH GIT_ERROR_STASH
187 #define GITERR_CHECKOUT GIT_ERROR_CHECKOUT
188 #define GITERR_FETCHHEAD GIT_ERROR_FETCHHEAD
189 #define GITERR_MERGE GIT_ERROR_MERGE
190 #define GITERR_SSH GIT_ERROR_SSH
191 #define GITERR_FILTER GIT_ERROR_FILTER
192 #define GITERR_REVERT GIT_ERROR_REVERT
193 #define GITERR_CALLBACK GIT_ERROR_CALLBACK
194 #define GITERR_CHERRYPICK GIT_ERROR_CHERRYPICK
195 #define GITERR_DESCRIBE GIT_ERROR_DESCRIBE
196 #define GITERR_REBASE GIT_ERROR_REBASE
197 #define GITERR_FILESYSTEM GIT_ERROR_FILESYSTEM
198 #define GITERR_PATCH GIT_ERROR_PATCH
199 #define GITERR_WORKTREE GIT_ERROR_WORKTREE
200 #define GITERR_SHA1 GIT_ERROR_SHA1
201 
202 /**
203  * Return the last `git_error` object that was generated for the
204  * current thread.  This is an alias of `git_error_last` and is
205  * preserved for backward compatibility.
206  *
207  * This function is deprecated, but there is no plan to remove this
208  * function at this time.
209  *
210  * @deprecated Use git_error_last
211  * @see git_error_last
212  */
213 GIT_EXTERN(const git_error *) giterr_last(void);
214 
215 /**
216  * Clear the last error.  This is an alias of `git_error_last` and is
217  * preserved for backward compatibility.
218  *
219  * This function is deprecated, but there is no plan to remove this
220  * function at this time.
221  *
222  * @deprecated Use git_error_clear
223  * @see git_error_clear
224  */
225 GIT_EXTERN(void) giterr_clear(void);
226 
227 /**
228  * Sets the error message to the given string.  This is an alias of
229  * `git_error_set_str` and is preserved for backward compatibility.
230  *
231  * This function is deprecated, but there is no plan to remove this
232  * function at this time.
233  *
234  * @deprecated Use git_error_set_str
235  * @see git_error_set_str
236  */
237 GIT_EXTERN(void) giterr_set_str(int error_class, const char *string);
238 
239 /**
240  * Indicates that an out-of-memory situation occurred.  This is an alias
241  * of `git_error_set_oom` and is preserved for backward compatibility.
242  *
243  * This function is deprecated, but there is no plan to remove this
244  * function at this time.
245  *
246  * @deprecated Use git_error_set_oom
247  * @see git_error_set_oom
248  */
249 GIT_EXTERN(void) giterr_set_oom(void);
250 
251 /**@}*/
252 
253 /** @name Deprecated Index Functions and Constants
254  *
255  * These functions and enumeration values are retained for backward
256  * compatibility.  The newer versions of these values should be
257  * preferred in all new code.
258  *
259  * There is no plan to remove these backward compatibility values at
260  * this time.
261  */
262 /**@{*/
263 
264 #define GIT_IDXENTRY_NAMEMASK          GIT_INDEX_ENTRY_NAMEMASK
265 #define GIT_IDXENTRY_STAGEMASK         GIT_INDEX_ENTRY_STAGEMASK
266 #define GIT_IDXENTRY_STAGESHIFT        GIT_INDEX_ENTRY_STAGESHIFT
267 
268 /* The git_indxentry_flag_t enum */
269 #define GIT_IDXENTRY_EXTENDED          GIT_INDEX_ENTRY_EXTENDED
270 #define GIT_IDXENTRY_VALID             GIT_INDEX_ENTRY_VALID
271 
272 #define GIT_IDXENTRY_STAGE(E)          GIT_INDEX_ENTRY_STAGE(E)
273 #define GIT_IDXENTRY_STAGE_SET(E,S)    GIT_INDEX_ENTRY_STAGE_SET(E,S)
274 
275 /* The git_idxentry_extended_flag_t enum */
276 #define GIT_IDXENTRY_INTENT_TO_ADD     GIT_INDEX_ENTRY_INTENT_TO_ADD
277 #define GIT_IDXENTRY_SKIP_WORKTREE     GIT_INDEX_ENTRY_SKIP_WORKTREE
278 #define GIT_IDXENTRY_EXTENDED_FLAGS    (GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE)
279 #define GIT_IDXENTRY_EXTENDED2         (1 << 15)
280 #define GIT_IDXENTRY_UPDATE            (1 << 0)
281 #define GIT_IDXENTRY_REMOVE            (1 << 1)
282 #define GIT_IDXENTRY_UPTODATE          (1 << 2)
283 #define GIT_IDXENTRY_ADDED             (1 << 3)
284 #define GIT_IDXENTRY_HASHED            (1 << 4)
285 #define GIT_IDXENTRY_UNHASHED          (1 << 5)
286 #define GIT_IDXENTRY_WT_REMOVE         (1 << 6)
287 #define GIT_IDXENTRY_CONFLICTED        (1 << 7)
288 #define GIT_IDXENTRY_UNPACKED          (1 << 8)
289 #define GIT_IDXENTRY_NEW_SKIP_WORKTREE (1 << 9)
290 
291 /* The git_index_capability_t enum */
292 #define GIT_INDEXCAP_IGNORE_CASE       GIT_INDEX_CAPABILITY_IGNORE_CASE
293 #define GIT_INDEXCAP_NO_FILEMODE       GIT_INDEX_CAPABILITY_NO_FILEMODE
294 #define GIT_INDEXCAP_NO_SYMLINKS       GIT_INDEX_CAPABILITY_NO_SYMLINKS
295 #define GIT_INDEXCAP_FROM_OWNER        GIT_INDEX_CAPABILITY_FROM_OWNER
296 
297 GIT_EXTERN(int) git_index_add_frombuffer(
298 	git_index *index,
299 	const git_index_entry *entry,
300 	const void *buffer, size_t len);
301 
302 /**@}*/
303 
304 /** @name Deprecated Object Constants
305  *
306  * These enumeration values are retained for backward compatibility.  The
307  * newer versions of these values should be preferred in all new code.
308  *
309  * There is no plan to remove these backward compatibility values at
310  * this time.
311  */
312 /**@{*/
313 
314 #define git_otype git_object_t
315 
316 #define GIT_OBJ_ANY GIT_OBJECT_ANY
317 #define GIT_OBJ_BAD GIT_OBJECT_INVALID
318 #define GIT_OBJ__EXT1 0
319 #define GIT_OBJ_COMMIT GIT_OBJECT_COMMIT
320 #define GIT_OBJ_TREE GIT_OBJECT_TREE
321 #define GIT_OBJ_BLOB GIT_OBJECT_BLOB
322 #define GIT_OBJ_TAG GIT_OBJECT_TAG
323 #define GIT_OBJ__EXT2 5
324 #define GIT_OBJ_OFS_DELTA GIT_OBJECT_OFS_DELTA
325 #define GIT_OBJ_REF_DELTA GIT_OBJECT_REF_DELTA
326 
327 /**
328  * Get the size in bytes for the structure which
329  * acts as an in-memory representation of any given
330  * object type.
331  *
332  * For all the core types, this would the equivalent
333  * of calling `sizeof(git_commit)` if the core types
334  * were not opaque on the external API.
335  *
336  * @param type object type to get its size
337  * @return size in bytes of the object
338  */
339 GIT_EXTERN(size_t) git_object__size(git_object_t type);
340 
341 /**@}*/
342 
343 /** @name Deprecated Remote Functions
344  *
345  * These functions are retained for backward compatibility.  The newer
346  * versions of these functions should be preferred in all new code.
347  *
348  * There is no plan to remove these backward compatibility functions at
349  * this time.
350  */
351 /**@{*/
352 
353 /**
354  * Ensure the remote name is well-formed.
355  *
356  * @deprecated Use git_remote_name_is_valid
357  * @param remote_name name to be checked.
358  * @return 1 if the reference name is acceptable; 0 if it isn't
359  */
360 GIT_EXTERN(int) git_remote_is_valid_name(const char *remote_name);
361 
362 /**@}*/
363 
364 /** @name Deprecated Reference Functions and Constants
365  *
366  * These functions and enumeration values are retained for backward
367  * compatibility.  The newer versions of these values should be
368  * preferred in all new code.
369  *
370  * There is no plan to remove these backward compatibility values at
371  * this time.
372  */
373 /**@{*/
374 
375  /** Basic type of any Git reference. */
376 #define git_ref_t git_reference_t
377 #define git_reference_normalize_t git_reference_format_t
378 
379 #define GIT_REF_INVALID GIT_REFERENCE_INVALID
380 #define GIT_REF_OID GIT_REFERENCE_DIRECT
381 #define GIT_REF_SYMBOLIC GIT_REFERENCE_SYMBOLIC
382 #define GIT_REF_LISTALL GIT_REFERENCE_ALL
383 
384 #define GIT_REF_FORMAT_NORMAL GIT_REFERENCE_FORMAT_NORMAL
385 #define GIT_REF_FORMAT_ALLOW_ONELEVEL GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL
386 #define GIT_REF_FORMAT_REFSPEC_PATTERN GIT_REFERENCE_FORMAT_REFSPEC_PATTERN
387 #define GIT_REF_FORMAT_REFSPEC_SHORTHAND GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND
388 
389 /**
390  * Ensure the reference name is well-formed.
391  *
392  * Valid reference names must follow one of two patterns:
393  *
394  * 1. Top-level names must contain only capital letters and underscores,
395  *    and must begin and end with a letter. (e.g. "HEAD", "ORIG_HEAD").
396  * 2. Names prefixed with "refs/" can be almost anything.  You must avoid
397  *    the characters '~', '^', ':', '\\', '?', '[', and '*', and the
398  *    sequences ".." and "@{" which have special meaning to revparse.
399  *
400  * @deprecated Use git_reference_name_is_valid
401  * @param refname name to be checked.
402  * @return 1 if the reference name is acceptable; 0 if it isn't
403  */
404 GIT_EXTERN(int) git_reference_is_valid_name(const char *refname);
405 
406 GIT_EXTERN(int) git_tag_create_frombuffer(
407 	git_oid *oid,
408 	git_repository *repo,
409 	const char *buffer,
410 	int force);
411 
412 /**@}*/
413 
414 /** @name Deprecated Credential Types
415  *
416  * These types are retained for backward compatibility.  The newer
417  * versions of these values should be preferred in all new code.
418  *
419  * There is no plan to remove these backward compatibility values at
420  * this time.
421  */
422 
423 typedef git_credential git_cred;
424 typedef git_credential_userpass_plaintext git_cred_userpass_plaintext;
425 typedef git_credential_username git_cred_username;
426 typedef git_credential_default git_cred_default;
427 typedef git_credential_ssh_key git_cred_ssh_key;
428 typedef git_credential_ssh_interactive git_cred_ssh_interactive;
429 typedef git_credential_ssh_custom git_cred_ssh_custom;
430 
431 typedef git_credential_acquire_cb git_cred_acquire_cb;
432 typedef git_credential_sign_cb git_cred_sign_callback;
433 typedef git_credential_sign_cb git_cred_sign_cb;
434 typedef git_credential_ssh_interactive_cb git_cred_ssh_interactive_callback;
435 typedef git_credential_ssh_interactive_cb git_cred_ssh_interactive_cb;
436 
437 #define git_credtype_t git_credential_t
438 
439 #define GIT_CREDTYPE_USERPASS_PLAINTEXT GIT_CREDENTIAL_USERPASS_PLAINTEXT
440 #define GIT_CREDTYPE_SSH_KEY GIT_CREDENTIAL_SSH_KEY
441 #define GIT_CREDTYPE_SSH_CUSTOM GIT_CREDENTIAL_SSH_CUSTOM
442 #define GIT_CREDTYPE_DEFAULT GIT_CREDENTIAL_DEFAULT
443 #define GIT_CREDTYPE_SSH_INTERACTIVE GIT_CREDENTIAL_SSH_INTERACTIVE
444 #define GIT_CREDTYPE_USERNAME GIT_CREDENTIAL_USERNAME
445 #define GIT_CREDTYPE_SSH_MEMORY GIT_CREDENTIAL_SSH_MEMORY
446 
447 GIT_EXTERN(void) git_cred_free(git_credential *cred);
448 GIT_EXTERN(int) git_cred_has_username(git_credential *cred);
449 GIT_EXTERN(const char *) git_cred_get_username(git_credential *cred);
450 GIT_EXTERN(int) git_cred_userpass_plaintext_new(
451 	git_credential **out,
452 	const char *username,
453 	const char *password);
454 GIT_EXTERN(int) git_cred_default_new(git_credential **out);
455 GIT_EXTERN(int) git_cred_username_new(git_credential **out, const char *username);
456 GIT_EXTERN(int) git_cred_ssh_key_new(
457 	git_credential **out,
458 	const char *username,
459 	const char *publickey,
460 	const char *privatekey,
461 	const char *passphrase);
462 GIT_EXTERN(int) git_cred_ssh_key_memory_new(
463 	git_credential **out,
464 	const char *username,
465 	const char *publickey,
466 	const char *privatekey,
467 	const char *passphrase);
468 GIT_EXTERN(int) git_cred_ssh_interactive_new(
469 	git_credential **out,
470 	const char *username,
471 	git_credential_ssh_interactive_cb prompt_callback,
472 	void *payload);
473 GIT_EXTERN(int) git_cred_ssh_key_from_agent(
474 	git_credential **out,
475 	const char *username);
476 GIT_EXTERN(int) git_cred_ssh_custom_new(
477 	git_credential **out,
478 	const char *username,
479 	const char *publickey,
480 	size_t publickey_len,
481 	git_credential_sign_cb sign_callback,
482 	void *payload);
483 
484 /* Deprecated Credential Helper Types */
485 
486 typedef git_credential_userpass_payload git_cred_userpass_payload;
487 
488 GIT_EXTERN(int) git_cred_userpass(
489 	git_credential **out,
490 	const char *url,
491 	const char *user_from_url,
492 	unsigned int allowed_types,
493 	void *payload);
494 
495 /**@}*/
496 
497 /** @name Deprecated Trace Callback Types
498  *
499  * These types are retained for backward compatibility.  The newer
500  * versions of these values should be preferred in all new code.
501  *
502  * There is no plan to remove these backward compatibility values at
503  * this time.
504  */
505 /**@{*/
506 
507 typedef git_trace_cb git_trace_callback;
508 
509 /**@}*/
510 
511 /** @name Deprecated Object ID Types
512  *
513  * These types are retained for backward compatibility.  The newer
514  * versions of these values should be preferred in all new code.
515  *
516  * There is no plan to remove these backward compatibility values at
517  * this time.
518  */
519 /**@{*/
520 
521 GIT_EXTERN(int) git_oid_iszero(const git_oid *id);
522 
523 /**@}*/
524 
525 /** @name Deprecated Transfer Progress Types
526  *
527  * These types are retained for backward compatibility.  The newer
528  * versions of these values should be preferred in all new code.
529  *
530  * There is no plan to remove these backward compatibility values at
531  * this time.
532  */
533 /**@{*/
534 
535 /**
536  * This structure is used to provide callers information about the
537  * progress of indexing a packfile.
538  *
539  * This type is deprecated, but there is no plan to remove this
540  * type definition at this time.
541  */
542 typedef git_indexer_progress git_transfer_progress;
543 
544 /**
545  * Type definition for progress callbacks during indexing.
546  *
547  * This type is deprecated, but there is no plan to remove this
548  * type definition at this time.
549  */
550 typedef git_indexer_progress_cb git_transfer_progress_cb;
551 
552 /**
553  * Type definition for push transfer progress callbacks.
554  *
555  * This type is deprecated, but there is no plan to remove this
556  * type definition at this time.
557  */
558 typedef git_push_transfer_progress_cb git_push_transfer_progress;
559 
560  /** The type of a remote completion event */
561 #define git_remote_completion_type git_remote_completion_t
562 
563 /**
564  * Callback for listing the remote heads
565  */
566 typedef int GIT_CALLBACK(git_headlist_cb)(git_remote_head *rhead, void *payload);
567 
568 /**@}*/
569 
570 /** @name Deprecated String Array Functions
571  *
572  * These types are retained for backward compatibility.  The newer
573  * versions of these values should be preferred in all new code.
574  *
575  * There is no plan to remove these backward compatibility values at
576  * this time.
577  */
578 /**@{*/
579 
580 /**
581  * Copy a string array object from source to target.
582  *
583  * This function is deprecated, but there is no plan to remove this
584  * function at this time.
585  *
586  * @param tgt target
587  * @param src source
588  * @return 0 on success, < 0 on allocation failure
589  */
590 GIT_EXTERN(int) git_strarray_copy(git_strarray *tgt, const git_strarray *src);
591 
592 /**
593  * Free the memory referred to by the git_strarray.  This is an alias of
594  * `git_strarray_dispose` and is preserved for backward compatibility.
595  *
596  * This function is deprecated, but there is no plan to remove this
597  * function at this time.
598  *
599  * @deprecated Use git_strarray_dispose
600  * @see git_strarray_dispose
601  */
602 GIT_EXTERN(void) git_strarray_free(git_strarray *array);
603 
604 /**@}*/
605 
606 /** @name Deprecated Options Initialization Functions
607  *
608  * These functions are retained for backward compatibility.  The newer
609  * versions of these functions should be preferred in all new code.
610  *
611  * There is no plan to remove these backward compatibility functions at
612  * this time.
613  */
614 /**@{*/
615 
616 GIT_EXTERN(int) git_blame_init_options(git_blame_options *opts, unsigned int version);
617 GIT_EXTERN(int) git_checkout_init_options(git_checkout_options *opts, unsigned int version);
618 GIT_EXTERN(int) git_cherrypick_init_options(git_cherrypick_options *opts, unsigned int version);
619 GIT_EXTERN(int) git_clone_init_options(git_clone_options *opts, unsigned int version);
620 GIT_EXTERN(int) git_describe_init_options(git_describe_options *opts, unsigned int version);
621 GIT_EXTERN(int) git_describe_init_format_options(git_describe_format_options *opts, unsigned int version);
622 GIT_EXTERN(int) git_diff_init_options(git_diff_options *opts, unsigned int version);
623 GIT_EXTERN(int) git_diff_find_init_options(git_diff_find_options *opts, unsigned int version);
624 GIT_EXTERN(int) git_diff_format_email_init_options(git_diff_format_email_options *opts, unsigned int version);
625 GIT_EXTERN(int) git_diff_patchid_init_options(git_diff_patchid_options *opts, unsigned int version);
626 GIT_EXTERN(int) git_fetch_init_options(git_fetch_options *opts, unsigned int version);
627 GIT_EXTERN(int) git_indexer_init_options(git_indexer_options *opts, unsigned int version);
628 GIT_EXTERN(int) git_merge_init_options(git_merge_options *opts, unsigned int version);
629 GIT_EXTERN(int) git_merge_file_init_input(git_merge_file_input *input, unsigned int version);
630 GIT_EXTERN(int) git_merge_file_init_options(git_merge_file_options *opts, unsigned int version);
631 GIT_EXTERN(int) git_proxy_init_options(git_proxy_options *opts, unsigned int version);
632 GIT_EXTERN(int) git_push_init_options(git_push_options *opts, unsigned int version);
633 GIT_EXTERN(int) git_rebase_init_options(git_rebase_options *opts, unsigned int version);
634 GIT_EXTERN(int) git_remote_create_init_options(git_remote_create_options *opts, unsigned int version);
635 GIT_EXTERN(int) git_repository_init_init_options(git_repository_init_options *opts, unsigned int version);
636 GIT_EXTERN(int) git_revert_init_options(git_revert_options *opts, unsigned int version);
637 GIT_EXTERN(int) git_stash_apply_init_options(git_stash_apply_options *opts, unsigned int version);
638 GIT_EXTERN(int) git_status_init_options(git_status_options *opts, unsigned int version);
639 GIT_EXTERN(int) git_submodule_update_init_options(git_submodule_update_options *opts, unsigned int version);
640 GIT_EXTERN(int) git_worktree_add_init_options(git_worktree_add_options *opts, unsigned int version);
641 GIT_EXTERN(int) git_worktree_prune_init_options(git_worktree_prune_options *opts, unsigned int version);
642 
643 /**@}*/
644 
645 /** @} */
646 GIT_END_DECL
647 
648 #endif
649 
650 #endif
651