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