diff --git a/examples/general.c b/examples/general.c index 46f2009bc..4585a4af5 100644 --- a/examples/general.c +++ b/examples/general.c @@ -335,7 +335,7 @@ int main (int argc, char** argv) // We can then lookup and parse the commited pointed at by the returned OID; // note that this operation is specially fast since the raw contents of the commit object will // be cached in memory - while ((git_revwalk_next(&oid, walk)) == GIT_SUCCESS) { + while ((git_revwalk_next(&oid, walk)) == 0) { error = git_commit_lookup(&wcommit, repo, &oid); cmsg = git_commit_message(wcommit); cauth = git_commit_author(wcommit); diff --git a/examples/network/git2.c b/examples/network/git2.c index d6ea419c4..7c02305c4 100644 --- a/examples/network/git2.c +++ b/examples/network/git2.c @@ -25,12 +25,12 @@ int run_command(git_cb fn, int argc, char **argv) // repository and pass it to the function. error = git_repository_open(&repo, ".git"); - if (error < GIT_SUCCESS) + if (error < 0) repo = NULL; // Run the command. If something goes wrong, print the error message to stderr error = fn(repo, argc, argv); - if (error < GIT_SUCCESS) { + if (error < 0) { if (giterr_last() == NULL) fprintf(stderr, "Error without message"); else diff --git a/examples/network/index-pack.c b/examples/network/index-pack.c index 881c1493f..03f3ae37e 100644 --- a/examples/network/index-pack.c +++ b/examples/network/index-pack.c @@ -80,13 +80,13 @@ int index_pack_old(git_repository *repo, int argc, char **argv) // Create a new indexer error = git_indexer_new(&indexer, argv[1]); - if (error < GIT_SUCCESS) + if (error < 0) return error; // Index the packfile. This function can take a very long time and // should be run in a worker thread. error = git_indexer_run(indexer, &stats); - if (error < GIT_SUCCESS) + if (error < 0) return error; // Write the information out to an index file @@ -98,5 +98,5 @@ int index_pack_old(git_repository *repo, int argc, char **argv) git_indexer_free(indexer); - return GIT_SUCCESS; + return 0; } diff --git a/examples/network/ls-remote.c b/examples/network/ls-remote.c index 958a88651..39cc64725 100644 --- a/examples/network/ls-remote.c +++ b/examples/network/ls-remote.c @@ -9,7 +9,7 @@ static int show_ref__cb(git_remote_head *head, void *payload) char oid[GIT_OID_HEXSZ + 1] = {0}; git_oid_fmt(oid, &head->oid); printf("%s\t%s\n", oid, head->name); - return GIT_SUCCESS; + return 0; } int use_unnamed(git_repository *repo, const char *url) @@ -20,13 +20,13 @@ int use_unnamed(git_repository *repo, const char *url) // Create an instance of a remote from the URL. The transport to use // is detected from the URL error = git_remote_new(&remote, repo, NULL, url, NULL); - if (error < GIT_SUCCESS) + if (error < 0) goto cleanup; // When connecting, the underlying code needs to know wether we // want to push or fetch error = git_remote_connect(remote, GIT_DIR_FETCH); - if (error < GIT_SUCCESS) + if (error < 0) goto cleanup; // With git_remote_ls we can retrieve the advertised heads @@ -44,11 +44,11 @@ int use_remote(git_repository *repo, char *name) // Find the remote by name error = git_remote_load(&remote, repo, name); - if (error < GIT_SUCCESS) + if (error < 0) goto cleanup; error = git_remote_connect(remote, GIT_DIR_FETCH); - if (error < GIT_SUCCESS) + if (error < 0) goto cleanup; error = git_remote_ls(remote, &show_ref__cb, NULL); diff --git a/include/git2/attr.h b/include/git2/attr.h index 6a05496dc..28ca3bc1c 100644 --- a/include/git2/attr.h +++ b/include/git2/attr.h @@ -65,7 +65,7 @@ GIT_BEGIN_DECL #define GIT_ATTR_UNSPECIFIED(attr) (!(attr) || (attr) == git_attr__unset) /** - * GIT_ATTR_SET_TO_VALUE checks if an attribute is set to a value (as + * GIT_ATTR_HAS_VALUE checks if an attribute is set to a value (as * opposied to TRUE, FALSE or UNSPECIFIED). This would be the case if * for a file with something like: * @@ -74,7 +74,7 @@ GIT_BEGIN_DECL * Given this, looking up "eol" for `onefile.txt` will give back the * string "lf" and `GIT_ATTR_SET_TO_VALUE(attr)` will return true. */ -#define GIT_ATTR_SET_TO_VALUE(attr) \ +#define GIT_ATTR_HAS_VALUE(attr) \ ((attr) && (attr) != git_attr__unset && \ (attr) != git_attr__true && (attr) != git_attr__false) @@ -111,6 +111,10 @@ GIT_EXTERN(const char *) git_attr__unset; /** * Look up the value of one git attribute for path. * + * @param value_out Output of the value of the attribute. Use the GIT_ATTR_... + * macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just + * use the string value for attributes set to a value. You + * should NOT modify or free this value. * @param repo The repository containing the path. * @param flags A combination of GIT_ATTR_CHECK... flags. * @param path The path to check for attributes. Relative paths are @@ -118,17 +122,13 @@ GIT_EXTERN(const char *) git_attr__unset; * not have to exist, but if it does not, then it will be * treated as a plain file (not a directory). * @param name The name of the attribute to look up. - * @param value Output of the value of the attribute. Use the GIT_ATTR_... - * macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just - * use the string value for attributes set to a value. You - * should NOT modify or free this value. */ GIT_EXTERN(int) git_attr_get( + const char **value_out, git_repository *repo, uint32_t flags, const char *path, - const char *name, - const char **value); + const char *name); /** * Look up a list of git attributes for path. @@ -141,11 +141,16 @@ GIT_EXTERN(int) git_attr_get( * * const char *attrs[] = { "crlf", "diff", "foo" }; * const char **values[3]; - * git_attr_get_many(repo, 0, "my/fun/file.c", 3, attrs, values); + * git_attr_get_many(values, repo, 0, "my/fun/file.c", 3, attrs); * * Then you could loop through the 3 values to get the settings for * the three attributes you asked about. * + * @param values An array of num_attr entries that will have string + * pointers written into it for the values of the attributes. + * You should not modify or free the values that are written + * into this array (although of course, you should free the + * array itself if you allocated it). * @param repo The repository containing the path. * @param flags A combination of GIT_ATTR_CHECK... flags. * @param path The path inside the repo to check attributes. This @@ -153,19 +158,14 @@ GIT_EXTERN(int) git_attr_get( * it will be treated as a plain file (i.e. not a directory). * @param num_attr The number of attributes being looked up * @param names An array of num_attr strings containing attribute names. - * @param values An array of num_attr entries that will have string - * pointers written into it for the values of the attributes. - * You should not modify or free the values that are written - * into this array (although of course, you should free the - * array itself if you allocated it). */ GIT_EXTERN(int) git_attr_get_many( + const char **values_out, git_repository *repo, uint32_t flags, const char *path, size_t num_attr, - const char **names, - const char **values); + const char **names); /** * Loop over all the git attributes for a path. diff --git a/include/git2/blob.h b/include/git2/blob.h index afa350bb1..551770678 100644 --- a/include/git2/blob.h +++ b/include/git2/blob.h @@ -27,7 +27,7 @@ GIT_BEGIN_DECL * @param blob pointer to the looked up blob * @param repo the repo to use when locating the blob. * @param id identity of the blob to locate. - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_INLINE(int) git_blob_lookup(git_blob **blob, git_repository *repo, const git_oid *id) { @@ -44,7 +44,7 @@ GIT_INLINE(int) git_blob_lookup(git_blob **blob, git_repository *repo, const git * @param repo the repo to use when locating the blob. * @param id identity of the blob to locate. * @param len the length of the short identifier - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_INLINE(int) git_blob_lookup_prefix(git_blob **blob, git_repository *repo, const git_oid *id, unsigned int len) { @@ -99,7 +99,7 @@ GIT_EXTERN(size_t) git_blob_rawsize(git_blob *blob); * this repository cannot be bare * @param path file from which the blob will be created, * relative to the repository's working dir - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_blob_create_fromfile(git_oid *oid, git_repository *repo, const char *path); @@ -111,7 +111,7 @@ GIT_EXTERN(int) git_blob_create_fromfile(git_oid *oid, git_repository *repo, con * @param repo repository where the blob will be written. * this repository can be bare or not * @param path file from which the blob will be created - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_blob_create_fromdisk(git_oid *oid, git_repository *repo, const char *path); @@ -123,7 +123,7 @@ GIT_EXTERN(int) git_blob_create_fromdisk(git_oid *oid, git_repository *repo, con * @param repo repository where to blob will be written * @param buffer data to be written into the blob * @param len length of the data - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_blob_create_frombuffer(git_oid *oid, git_repository *repo, const void *buffer, size_t len); diff --git a/include/git2/branch.h b/include/git2/branch.h index f4681dc09..e2432bcfc 100644 --- a/include/git2/branch.h +++ b/include/git2/branch.h @@ -41,7 +41,7 @@ GIT_BEGIN_DECL * * @param force Overwrite existing branch. * - * @return GIT_SUCCESS or an error code. + * @return 0 or an error code. * A proper reference is written in the refs/heads namespace * pointing to the provided target commit. */ @@ -63,13 +63,13 @@ GIT_EXTERN(int) git_branch_create( * @param branch_type Type of the considered branch. This should * be valued with either GIT_BRANCH_LOCAL or GIT_BRANCH_REMOTE. * - * @return GIT_SUCCESS on success, GIT_ENOTFOUND if the branch + * @return 0 on success, GIT_ENOTFOUND if the branch * doesn't exist or an error code. */ GIT_EXTERN(int) git_branch_delete( git_repository *repo, const char *branch_name, - git_branch_type branch_type); + git_branch_t branch_type); /** * Fill a list with all the branches in the Repository @@ -88,7 +88,7 @@ GIT_EXTERN(int) git_branch_delete( * listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE * or a combination of the two. * - * @return GIT_SUCCESS or an error code. + * @return 0 or an error code. */ GIT_EXTERN(int) git_branch_list( git_strarray *branch_names, @@ -108,7 +108,7 @@ GIT_EXTERN(int) git_branch_list( * * @param force Overwrite existing branch. * - * @return GIT_SUCCESS on success, GIT_ENOTFOUND if the branch + * @return 0 on success, GIT_ENOTFOUND if the branch * doesn't exist or an error code. */ GIT_EXTERN(int) git_branch_move( diff --git a/include/git2/commit.h b/include/git2/commit.h index e519bc128..a6d9bb0e3 100644 --- a/include/git2/commit.h +++ b/include/git2/commit.h @@ -28,7 +28,7 @@ GIT_BEGIN_DECL * @param repo the repo to use when locating the commit. * @param id identity of the commit to locate. If the object is * an annotated tag it will be peeled back to the commit. - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_INLINE(int) git_commit_lookup(git_commit **commit, git_repository *repo, const git_oid *id) { @@ -46,7 +46,7 @@ GIT_INLINE(int) git_commit_lookup(git_commit **commit, git_repository *repo, con * @param id identity of the commit to locate. If the object is * an annotated tag it will be peeled back to the commit. * @param len the length of the short identifier - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_INLINE(int) git_commit_lookup_prefix(git_commit **commit, git_repository *repo, const git_oid *id, unsigned len) { @@ -135,7 +135,7 @@ GIT_EXTERN(const git_signature *) git_commit_author(git_commit *commit); * * @param tree_out pointer where to store the tree object * @param commit a previously loaded commit. - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_commit_tree(git_tree **tree_out, git_commit *commit); @@ -163,7 +163,7 @@ GIT_EXTERN(unsigned int) git_commit_parentcount(git_commit *commit); * @param parent Pointer where to store the parent commit * @param commit a previously loaded commit. * @param n the position of the parent (from 0 to `parentcount`) - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_commit_parent(git_commit **parent, git_commit *commit, unsigned int n); @@ -221,7 +221,7 @@ GIT_EXTERN(const git_oid *) git_commit_parent_oid(git_commit *commit, unsigned i * array may be NULL if `parent_count` is 0 (root commit). All the * given commits must be owned by the `repo`. * - * @return GIT_SUCCESS or an error code + * @return 0 or an error code * The created commit will be written to the Object Database and * the given reference will be updated to point to it */ diff --git a/include/git2/config.h b/include/git2/config.h index acc45b018..36946c4a5 100644 --- a/include/git2/config.h +++ b/include/git2/config.h @@ -62,10 +62,10 @@ typedef struct { * global configuration file. * * @param global_config_path Buffer of GIT_PATH_MAX length to store the path - * @return GIT_SUCCESS if a global configuration file has been + * @return 0 if a global configuration file has been * found. Its path will be stored in `buffer`. */ -GIT_EXTERN(int) git_config_find_global(char *global_config_path); +GIT_EXTERN(int) git_config_find_global(char *global_config_path, size_t length); /** * Locate the path to the system configuration file @@ -74,10 +74,10 @@ GIT_EXTERN(int) git_config_find_global(char *global_config_path); * %PROGRAMFILES%\Git\etc\gitconfig. * @param system_config_path Buffer of GIT_PATH_MAX length to store the path - * @return GIT_SUCCESS if a system configuration file has been + * @return 0 if a system configuration file has been * found. Its path will be stored in `buffer`. */ -GIT_EXTERN(int) git_config_find_system(char *system_config_path); +GIT_EXTERN(int) git_config_find_system(char *system_config_path, size_t length); /** * Open the global configuration file @@ -86,7 +86,7 @@ GIT_EXTERN(int) git_config_find_system(char *system_config_path); * and opens the located file, if it exists. * * @param out Pointer to store the config instance - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_config_open_global(git_config **out); @@ -110,7 +110,7 @@ GIT_EXTERN(int) git_config_file__ondisk(struct git_config_file **out, const char * can do anything with it. * * @param out pointer to the new configuration - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_config_new(git_config **out); @@ -127,7 +127,7 @@ GIT_EXTERN(int) git_config_new(git_config **out); * @param cfg the configuration to add the file to * @param file the configuration file (backend) to add * @param priority the priority the backend should have - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_config_add_file(git_config *cfg, git_config_file *file, int priority); @@ -148,7 +148,7 @@ GIT_EXTERN(int) git_config_add_file(git_config *cfg, git_config_file *file, int * @param cfg the configuration to add the file to * @param path path to the configuration file (backend) to add * @param priority the priority the backend should have - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_config_add_file_ondisk(git_config *cfg, const char *path, int priority); @@ -163,7 +163,7 @@ GIT_EXTERN(int) git_config_add_file_ondisk(git_config *cfg, const char *path, in * * @param cfg The configuration instance to create * @param path Path to the on-disk file to open - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_config_open_ondisk(git_config **cfg, const char *path); @@ -177,22 +177,22 @@ GIT_EXTERN(void) git_config_free(git_config *cfg); /** * Get the value of an integer config variable. * + * @param out pointer to the variable where the value should be stored * @param cfg where to look for the variable * @param name the variable's name - * @param out pointer to the variable where the value should be stored - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ -GIT_EXTERN(int) git_config_get_int32(git_config *cfg, const char *name, int32_t *out); +GIT_EXTERN(int) git_config_get_int32(int32_t *out, git_config *cfg, const char *name); /** * Get the value of a long integer config variable. * + * @param out pointer to the variable where the value should be stored * @param cfg where to look for the variable * @param name the variable's name - * @param out pointer to the variable where the value should be stored - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ -GIT_EXTERN(int) git_config_get_int64(git_config *cfg, const char *name, int64_t *out); +GIT_EXTERN(int) git_config_get_int64(int64_t *out, git_config *cfg, const char *name); /** * Get the value of a boolean config variable. @@ -200,12 +200,12 @@ GIT_EXTERN(int) git_config_get_int64(git_config *cfg, const char *name, int64_t * This function uses the usual C convention of 0 being false and * anything else true. * + * @param out pointer to the variable where the value should be stored * @param cfg where to look for the variable * @param name the variable's name - * @param out pointer to the variable where the value should be stored - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ -GIT_EXTERN(int) git_config_get_bool(git_config *cfg, const char *name, int *out); +GIT_EXTERN(int) git_config_get_bool(int *out, git_config *cfg, const char *name); /** * Get the value of a string config variable. @@ -213,12 +213,12 @@ GIT_EXTERN(int) git_config_get_bool(git_config *cfg, const char *name, int *out) * The string is owned by the variable and should not be freed by the * user. * + * @param out pointer to the variable's value * @param cfg where to look for the variable * @param name the variable's name - * @param out pointer to the variable's value - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ -GIT_EXTERN(int) git_config_get_string(git_config *cfg, const char *name, const char **out); +GIT_EXTERN(int) git_config_get_string(const char **out, git_config *cfg, const char *name); /** * Get each value of a multivar. @@ -240,7 +240,7 @@ GIT_EXTERN(int) git_config_get_multivar(git_config *cfg, const char *name, const * @param cfg where to look for the variable * @param name the variable's name * @param value Integer value for the variable - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_config_set_int32(git_config *cfg, const char *name, int32_t value); @@ -250,7 +250,7 @@ GIT_EXTERN(int) git_config_set_int32(git_config *cfg, const char *name, int32_t * @param cfg where to look for the variable * @param name the variable's name * @param value Long integer value for the variable - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_config_set_int64(git_config *cfg, const char *name, int64_t value); @@ -260,7 +260,7 @@ GIT_EXTERN(int) git_config_set_int64(git_config *cfg, const char *name, int64_t * @param cfg where to look for the variable * @param name the variable's name * @param value the value to store - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_config_set_bool(git_config *cfg, const char *name, int value); @@ -273,7 +273,7 @@ GIT_EXTERN(int) git_config_set_bool(git_config *cfg, const char *name, int value * @param cfg where to look for the variable * @param name the variable's name * @param value the string to store. - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_config_set_string(git_config *cfg, const char *name, const char *value); @@ -307,7 +307,7 @@ GIT_EXTERN(int) git_config_delete(git_config *cfg, const char *name); * @param cfg where to get the variables from * @param callback the function to call on each variable * @param payload the data to pass to the callback - * @return GIT_SUCCESS or the return value of the callback which didn't return 0 + * @return 0 or the return value of the callback which didn't return 0 */ GIT_EXTERN(int) git_config_foreach( git_config *cfg, @@ -342,14 +342,14 @@ GIT_EXTERN(int) git_config_foreach( * If not a single match can be made to store in `out`, an error code will be * returned. * + * @param out place to store the result of the mapping * @param cfg config file to get the variables from * @param name name of the config variable to lookup * @param maps array of `git_cvar_map` objects specifying the possible mappings * @param map_n number of mapping objects in `maps` - * @param out place to store the result of the mapping - * @return GIT_SUCCESS on success, error code otherwise + * @return 0 on success, error code otherwise */ -GIT_EXTERN(int) git_config_get_mapped(git_config *cfg, const char *name, git_cvar_map *maps, size_t map_n, int *out); +GIT_EXTERN(int) git_config_get_mapped(int *out, git_config *cfg, const char *name, git_cvar_map *maps, size_t map_n); /** @} */ GIT_END_DECL diff --git a/include/git2/errors.h b/include/git2/errors.h index 856343857..fb6670004 100644 --- a/include/git2/errors.h +++ b/include/git2/errors.h @@ -17,30 +17,55 @@ */ GIT_BEGIN_DECL -typedef enum { +#ifdef GIT_OLD_ERRORS +enum { GIT_SUCCESS = 0, - GIT_ERROR = -1, - - /** Input does not exist in the scope searched. */ + GIT_ENOTOID = -2, GIT_ENOTFOUND = -3, - - /** A reference with this name already exists */ + GIT_ENOMEM = -4, + GIT_EOSERR = -5, + GIT_EOBJTYPE = -6, + GIT_ENOTAREPO = -7, + GIT_EINVALIDTYPE = -8, + GIT_EMISSINGOBJDATA = -9, + GIT_EPACKCORRUPTED = -10, + GIT_EFLOCKFAIL = -11, + GIT_EZLIB = -12, + GIT_EBUSY = -13, + GIT_EBAREINDEX = -14, + GIT_EINVALIDREFNAME = -15, + GIT_EREFCORRUPTED = -16, + GIT_ETOONESTEDSYMREF = -17, + GIT_EPACKEDREFSCORRUPTED = -18, + GIT_EINVALIDPATH = -19, + GIT_EREVWALKOVER = -20, + GIT_EINVALIDREFSTATE = -21, + GIT_ENOTIMPLEMENTED = -22, GIT_EEXISTS = -23, - - /** The given integer literal is too large to be parsed */ GIT_EOVERFLOW = -24, - - /** The given short oid is ambiguous */ + GIT_ENOTNUM = -25, + GIT_ESTREAM = -26, + GIT_EINVALIDARGS = -27, + GIT_EOBJCORRUPTED = -28, GIT_EAMBIGUOUS = -29, - - /** Skip and passthrough the given ODB backend */ GIT_EPASSTHROUGH = -30, - - /** The buffer is too short to satisfy the request */ + GIT_ENOMATCH = -31, GIT_ESHORTBUFFER = -32, +}; +#endif - GIT_EREVWALKOVER = -33, -} git_error_t; +/** Generic return codes */ +enum { + GIT_OK = 0, + GIT_ERROR = -1, + GIT_ENOTFOUND = -3, + GIT_EEXISTS = -4, + GIT_EAMBIGUOUS = -5, + GIT_EBUFS = -6, + + GIT_PASSTHROUGH = -30, + GIT_REVWALKOVER = -31, +}; typedef struct { char *message; @@ -63,7 +88,7 @@ typedef enum { GITERR_TAG, GITERR_TREE, GITERR_INDEXER, -} git_error_class; +} git_error_t; /** * Return the last `git_error` object that was generated for the diff --git a/include/git2/index.h b/include/git2/index.h index ae727c59f..6a42c8515 100644 --- a/include/git2/index.h +++ b/include/git2/index.h @@ -106,7 +106,7 @@ typedef struct git_index_entry_unmerged { * * @param index the pointer for the new index * @param index_path the path to the index file in disk - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_index_open(git_index **index, const char *index_path); @@ -131,7 +131,7 @@ GIT_EXTERN(void) git_index_free(git_index *index); * by reading from the hard disk. * * @param index an existing index object - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_index_read(git_index *index); @@ -140,7 +140,7 @@ GIT_EXTERN(int) git_index_read(git_index *index); * using an atomic file lock. * * @param index an existing index object - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_index_write(git_index *index); @@ -176,7 +176,7 @@ GIT_EXTERN(void) git_index_uniq(git_index *index); * @param index an existing index object * @param path filename to add * @param stage stage for the entry - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_index_add(git_index *index, const char *path, int stage); @@ -188,7 +188,7 @@ GIT_EXTERN(int) git_index_add(git_index *index, const char *path, int stage); * * @param index an existing index object * @param source_entry new entry object - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_index_add2(git_index *index, const git_index_entry *source_entry); @@ -207,7 +207,7 @@ GIT_EXTERN(int) git_index_add2(git_index *index, const git_index_entry *source_e * @param index an existing index object * @param path filename to add * @param stage stage for the entry - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_index_append(git_index *index, const char *path, int stage); @@ -224,7 +224,7 @@ GIT_EXTERN(int) git_index_append(git_index *index, const char *path, int stage); * * @param index an existing index object * @param source_entry new entry object - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_index_append2(git_index *index, const git_index_entry *source_entry); @@ -233,7 +233,7 @@ GIT_EXTERN(int) git_index_append2(git_index *index, const git_index_entry *sourc * * @param index an existing index object * @param position position of the entry to remove - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_index_remove(git_index *index, int position); @@ -312,7 +312,7 @@ GIT_EXTERN(int) git_index_entry_stage(const git_index_entry *entry); * * @param index an existing index object * @param tree tree to read - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_index_read_tree(git_index *index, git_tree *tree); diff --git a/include/git2/notes.h b/include/git2/notes.h index ece5b274d..19073abd1 100644 --- a/include/git2/notes.h +++ b/include/git2/notes.h @@ -28,7 +28,7 @@ GIT_BEGIN_DECL * @param notes_ref OID reference to use (optional); defaults to "refs/notes/commits" * @param oid OID of the object * - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_note_read(git_note **note, git_repository *repo, const char *notes_ref, const git_oid *oid); @@ -62,7 +62,7 @@ GIT_EXTERN(const git_oid *) git_note_oid(git_note *note); * @param oid The OID of the object * @param oid The note to add for object oid * - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_note_create(git_oid *out, git_repository *repo, git_signature *author, git_signature *committer, @@ -79,7 +79,7 @@ GIT_EXTERN(int) git_note_create(git_oid *out, git_repository *repo, * @param committer signature of the notes commit committer * @param oid the oid which note's to be removed * - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_note_remove(git_repository *repo, const char *notes_ref, git_signature *author, git_signature *committer, @@ -98,7 +98,7 @@ GIT_EXTERN(void) git_note_free(git_note *note); * @param out Pointer to the default notes reference * @param repo The Git repository * - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_note_default_ref(const char **out, git_repository *repo); @@ -125,7 +125,7 @@ typedef struct { * * @param payload Extra parameter to callback function. * - * @return GIT_SUCCESS or an error code. + * @return 0 or an error code. */ GIT_EXTERN(int) git_note_foreach( git_repository *repo, diff --git a/include/git2/object.h b/include/git2/object.h index 859d0c4a4..9e988b7b6 100644 --- a/include/git2/object.h +++ b/include/git2/object.h @@ -69,7 +69,7 @@ GIT_EXTERN(int) git_object_lookup( * @param id a short identifier for the object * @param len the length of the short identifier * @param type the type of the object - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_object_lookup_prefix( git_object **object_out, diff --git a/include/git2/odb.h b/include/git2/odb.h index 87d70a60b..1df193389 100644 --- a/include/git2/odb.h +++ b/include/git2/odb.h @@ -29,7 +29,7 @@ GIT_BEGIN_DECL * * @param out location to store the database pointer, if opened. * Set to NULL if the open failed. - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_odb_new(git_odb **out); @@ -47,7 +47,7 @@ GIT_EXTERN(int) git_odb_new(git_odb **out); * @param out location to store the database pointer, if opened. * Set to NULL if the open failed. * @param objects_dir path of the backends' "objects" directory. - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_odb_open(git_odb **out, const char *objects_dir); @@ -108,7 +108,7 @@ GIT_EXTERN(void) git_odb_free(git_odb *db); * @param db database to search for the object in. * @param id identity of the object to read. * @return - * - GIT_SUCCESS if the object was read; + * - 0 if the object was read; * - GIT_ENOTFOUND if the object is not in the database. */ GIT_EXTERN(int) git_odb_read(git_odb_object **out, git_odb *db, const git_oid *id); @@ -135,7 +135,7 @@ GIT_EXTERN(int) git_odb_read(git_odb_object **out, git_odb *db, const git_oid *i * @param db database to search for the object in. * @param short_id a prefix of the id of the object to read. * @param len the length of the prefix - * @return GIT_SUCCESS if the object was read; + * @return 0 if the object was read; * GIT_ENOTFOUND if the object is not in the database. * GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix) */ @@ -156,7 +156,7 @@ GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **out, git_odb *db, const git * @param db database to search for the object in. * @param id identity of the object to read. * @return - * - GIT_SUCCESS if the object was read; + * - 0 if the object was read; * - GIT_ENOTFOUND if the object is not in the database. */ GIT_EXTERN(int) git_odb_read_header(size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id); @@ -188,7 +188,7 @@ GIT_EXTERN(int) git_odb_exists(git_odb *db, const git_oid *id); * @param data buffer with the data to storr * @param len size of the buffer * @param type type of the data to store - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_odb_write(git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type); @@ -257,7 +257,7 @@ GIT_EXTERN(int) git_odb_open_rstream(git_odb_stream **stream, git_odb *db, const * @param data data to hash * @param len size of the data * @param type of the data to hash - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_odb_hash(git_oid *id, const void *data, size_t len, git_otype type); @@ -270,7 +270,7 @@ GIT_EXTERN(int) git_odb_hash(git_oid *id, const void *data, size_t len, git_otyp * @param out oid structure the result is written into. * @param path file to read and determine object id for * @param type the type of the object that will be hashed - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_odb_hashfile(git_oid *out, const char *path, git_otype type); diff --git a/include/git2/odb_backend.h b/include/git2/odb_backend.h index 9a0133f37..f4620f5f4 100644 --- a/include/git2/odb_backend.h +++ b/include/git2/odb_backend.h @@ -74,6 +74,13 @@ struct git_odb_backend { void (* free)(struct git_odb_backend *); }; +/** Streaming mode */ +enum { + GIT_STREAM_RDONLY = (1 << 1), + GIT_STREAM_WRONLY = (1 << 2), + GIT_STREAM_RW = (GIT_STREAM_RDONLY | GIT_STREAM_WRONLY), +}; + /** A stream to read/write from a backend */ struct git_odb_stream { struct git_odb_backend *backend; @@ -85,13 +92,6 @@ struct git_odb_stream { void (*free)(struct git_odb_stream *stream); }; -/** Streaming mode */ -typedef enum { - GIT_STREAM_RDONLY = (1 << 1), - GIT_STREAM_WRONLY = (1 << 2), - GIT_STREAM_RW = (GIT_STREAM_RDONLY | GIT_STREAM_WRONLY), -} git_odb_streammode; - GIT_EXTERN(int) git_odb_backend_pack(git_odb_backend **backend_out, const char *objects_dir); GIT_EXTERN(int) git_odb_backend_loose(git_odb_backend **backend_out, const char *objects_dir, int compression_level, int do_fsync); diff --git a/include/git2/oid.h b/include/git2/oid.h index 87efbab2f..c06458d24 100644 --- a/include/git2/oid.h +++ b/include/git2/oid.h @@ -43,7 +43,7 @@ struct _git_oid { * @param str input hex string; must be pointing at the start of * the hex sequence and have at least the number of bytes * needed for an oid encoded in hex (40 bytes). - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str); @@ -56,7 +56,7 @@ GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str); * @param out oid structure the result is written into. * @param str input hex string of at least size `length` * @param length length of the input string - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length); @@ -155,7 +155,7 @@ GIT_EXTERN(int) git_oid_ncmp(const git_oid *a, const git_oid *b, unsigned int le * @param a oid structure. * @param str input hex string of an object id. * @return GIT_ENOTOID if str is not a valid hex string, - * GIT_SUCCESS in case of a match, GIT_ERROR otherwise. + * 0 in case of a match, GIT_ERROR otherwise. */ GIT_EXTERN(int) git_oid_streq(const git_oid *a, const char *str); diff --git a/include/git2/reflog.h b/include/git2/reflog.h index d622abcad..f490e29de 100644 --- a/include/git2/reflog.h +++ b/include/git2/reflog.h @@ -28,7 +28,7 @@ GIT_BEGIN_DECL * * @param reflog pointer to reflog * @param ref reference to read the reflog for - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reflog_read(git_reflog **reflog, git_reference *ref); @@ -46,7 +46,7 @@ GIT_EXTERN(int) git_reflog_read(git_reflog **reflog, git_reference *ref); * @param oid_old the OID the reference was pointing to * @param committer the signature of the committer * @param msg the reflog message - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reflog_write(git_reference *ref, const git_oid *oid_old, const git_signature *committer, const char *msg); @@ -55,7 +55,7 @@ GIT_EXTERN(int) git_reflog_write(git_reference *ref, const git_oid *oid_old, con * * @param ref the reference * @param new_name the new name of the reference - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reflog_rename(git_reference *ref, const char *new_name); @@ -63,7 +63,7 @@ GIT_EXTERN(int) git_reflog_rename(git_reference *ref, const char *new_name); * Delete the reflog for the given reference * * @param ref the reference - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reflog_delete(git_reference *ref); diff --git a/include/git2/refs.h b/include/git2/refs.h index 2073aabc5..882e32769 100644 --- a/include/git2/refs.h +++ b/include/git2/refs.h @@ -28,7 +28,7 @@ GIT_BEGIN_DECL * @param reference_out pointer to the looked-up reference * @param repo the repository to look up the reference * @param name the long name for the reference (e.g. HEAD, ref/heads/master, refs/tags/v0.1.0, ...) - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reference_lookup(git_reference **reference_out, git_repository *repo, const char *name); @@ -59,7 +59,7 @@ GIT_EXTERN(int) git_reference_name_to_oid( * @param name The name of the reference * @param target The target of the reference * @param force Overwrite existing references - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reference_create_symbolic(git_reference **ref_out, git_repository *repo, const char *name, const char *target, int force); @@ -79,7 +79,7 @@ GIT_EXTERN(int) git_reference_create_symbolic(git_reference **ref_out, git_repos * @param name The name of the reference * @param id The object id pointed to by the reference. * @param force Overwrite existing references - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reference_create_oid(git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id, int force); @@ -111,7 +111,7 @@ GIT_EXTERN(const char *) git_reference_target(git_reference *ref); * @param ref The reference * @return the type */ -GIT_EXTERN(git_rtype) git_reference_type(git_reference *ref); +GIT_EXTERN(git_ref_t) git_reference_type(git_reference *ref); /** * Get the full name of a reference @@ -137,7 +137,7 @@ GIT_EXTERN(const char *) git_reference_name(git_reference *ref); * * @param resolved_ref Pointer to the peeled reference * @param ref The reference - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reference_resolve(git_reference **resolved_ref, git_reference *ref); @@ -160,7 +160,7 @@ GIT_EXTERN(git_repository *) git_reference_owner(git_reference *ref); * * @param ref The reference * @param target The new target for the reference - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reference_set_target(git_reference *ref, const char *target); @@ -175,7 +175,7 @@ GIT_EXTERN(int) git_reference_set_target(git_reference *ref, const char *target) * * @param ref The reference * @param id The new target OID for the reference - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reference_set_oid(git_reference *ref, const git_oid *id); @@ -202,7 +202,7 @@ GIT_EXTERN(int) git_reference_set_oid(git_reference *ref, const git_oid *id); * @param ref The reference to rename * @param new_name The new name for the reference * @param force Overwrite an existing reference - * @return GIT_SUCCESS or an error code + * @return 0 or an error code * */ GIT_EXTERN(int) git_reference_rename(git_reference *ref, const char *new_name, int force); @@ -216,7 +216,7 @@ GIT_EXTERN(int) git_reference_rename(git_reference *ref, const char *new_name, i * memory. The given reference pointer will no longer be valid. * * @param ref The reference to remove - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reference_delete(git_reference *ref); @@ -231,7 +231,7 @@ GIT_EXTERN(int) git_reference_delete(git_reference *ref); * the loose references will be removed from disk. * * @param repo Repository where the loose refs will be packed - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reference_packall(git_repository *repo); @@ -254,9 +254,9 @@ GIT_EXTERN(int) git_reference_packall(git_repository *repo); * @param repo Repository where to find the refs * @param list_flags Filtering flags for the reference * listing. - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ -GIT_EXTERN(int) git_reference_listall(git_strarray *array, git_repository *repo, unsigned int list_flags); +GIT_EXTERN(int) git_reference_list(git_strarray *array, git_repository *repo, unsigned int list_flags); /** @@ -276,7 +276,7 @@ GIT_EXTERN(int) git_reference_listall(git_strarray *array, git_repository *repo, * listing. * @param callback Function which will be called for every listed ref * @param payload Additional data to pass to the callback - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_reference_foreach(git_repository *repo, unsigned int list_flags, int (*callback)(const char *, void *), void *payload); @@ -304,7 +304,7 @@ GIT_EXTERN(int) git_reference_is_packed(git_reference *ref); * returned and the reference pointer will be invalidated. * * @param ref The reference to reload - * @return GIT_SUCCESS on success, or an error code + * @return 0 on success, or an error code */ GIT_EXTERN(int) git_reference_reload(git_reference *ref); @@ -320,7 +320,7 @@ GIT_EXTERN(void) git_reference_free(git_reference *ref); * * @param ref1 The first git_reference * @param ref2 The second git_reference - * @return GIT_SUCCESS if the same, else a stable but meaningless ordering. + * @return 0 if the same, else a stable but meaningless ordering. */ GIT_EXTERN(int) git_reference_cmp(git_reference *ref1, git_reference *ref2); diff --git a/include/git2/refspec.h b/include/git2/refspec.h index 50aa596f9..c0a8eabfe 100644 --- a/include/git2/refspec.h +++ b/include/git2/refspec.h @@ -51,7 +51,7 @@ GIT_EXTERN(int) git_refspec_src_matches(const git_refspec *refspec, const char * * @param outlen the size ouf the `out` buffer * @param spec the refspec * @param name the name of the reference to transform - * @return GIT_SUCCESS, GIT_ESHORTBUFFER or another error + * @return 0, GIT_EBUFS or another error */ GIT_EXTERN(int) git_refspec_transform(char *out, size_t outlen, const git_refspec *spec, const char *name); diff --git a/include/git2/remote.h b/include/git2/remote.h index 6550cd20b..865dfef04 100644 --- a/include/git2/remote.h +++ b/include/git2/remote.h @@ -41,7 +41,7 @@ GIT_BEGIN_DECL * @param name the remote's name * @param url the remote repository's URL * @param fetch the fetch refspec to use for this remote - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_remote_new(git_remote **out, git_repository *repo, const char *name, const char *url, const char *fetch); @@ -51,7 +51,7 @@ GIT_EXTERN(int) git_remote_new(git_remote **out, git_repository *repo, const cha * @param out pointer to the new remote object * @param cfg the repository's configuration * @param name the remote's name - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_remote_load(git_remote **out, git_repository *repo, const char *name); @@ -59,7 +59,7 @@ GIT_EXTERN(int) git_remote_load(git_remote **out, git_repository *repo, const ch * Save a remote to its repository's configuration * * @param remote the remote to save to config - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_remote_save(const git_remote *remote); @@ -84,7 +84,7 @@ GIT_EXTERN(const char *) git_remote_url(git_remote *remote); * * @param remote the remote * @apram spec the new fetch refspec - * @return GIT_SUCCESS or an error value + * @return 0 or an error value */ GIT_EXTERN(int) git_remote_set_fetchspec(git_remote *remote, const char *spec); @@ -101,7 +101,7 @@ GIT_EXTERN(const git_refspec *) git_remote_fetchspec(git_remote *remote); * * @param remote the remote * @apram spec the new push refspec - * @return GIT_SUCCESS or an error value + * @return 0 or an error value */ GIT_EXTERN(int) git_remote_set_pushspec(git_remote *remote, const char *spec); @@ -123,7 +123,7 @@ GIT_EXTERN(const git_refspec *) git_remote_pushspec(git_remote *remote); * * @param remote the remote to connect to * @param direction whether you want to receive or send data - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_remote_connect(git_remote *remote, int direction); @@ -135,7 +135,7 @@ GIT_EXTERN(int) git_remote_connect(git_remote *remote, int direction); * * @param refs where to store the refs * @param remote the remote - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_remote_ls(git_remote *remote, git_headlist_cb list_cb, void *payload); @@ -150,7 +150,7 @@ GIT_EXTERN(int) git_remote_ls(git_remote *remote, git_headlist_cb list_cb, void * * @param remote the remote to download from * @param filename where to store the temproray filename - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_remote_download(git_remote *remote, git_off_t *bytes, git_indexer_stats *stats); @@ -215,7 +215,7 @@ GIT_EXTERN(int) git_remote_supported_url(const char* url); * * @param remotes_list a string array with the names of the remotes * @param repo the repository to query - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_remote_list(git_strarray *remotes_list, git_repository *repo); diff --git a/include/git2/repository.h b/include/git2/repository.h index d760c23b7..3949438cf 100644 --- a/include/git2/repository.h +++ b/include/git2/repository.h @@ -31,7 +31,7 @@ GIT_BEGIN_DECL * * @param repository pointer to the repo which will be opened * @param path the path to the repository - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_repository_open(git_repository **repository, const char *path); @@ -61,7 +61,7 @@ GIT_EXTERN(int) git_repository_open(git_repository **repository, const char *pat * start_path no matter start_path appears in ceiling_dirs ceiling_dirs * might be NULL (which is equivalent to an empty string) * - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_repository_discover( char *repository_path, @@ -109,7 +109,7 @@ GIT_EXTERN(void) git_repository_free(git_repository *repo); * at the pointed path. If false, provided path will be considered as the working * directory into which the .git directory will be created. * - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_repository_init(git_repository **repo_out, const char *path, unsigned is_bare); @@ -194,7 +194,7 @@ GIT_EXTERN(const char *) git_repository_workdir(git_repository *repo); * * @param repo A repository object * @param workdir The path to a working directory - * @return GIT_SUCCESS, or an error code + * @return 0, or an error code */ GIT_EXTERN(int) git_repository_set_workdir(git_repository *repo, const char *workdir); @@ -218,7 +218,7 @@ GIT_EXTERN(int) git_repository_is_bare(git_repository *repo); * * @param out Pointer to store the loaded config file * @param repo A repository object - * @return GIT_SUCCESS, or an error code + * @return 0, or an error code */ GIT_EXTERN(int) git_repository_config(git_config **out, git_repository *repo); @@ -249,7 +249,7 @@ GIT_EXTERN(void) git_repository_set_config(git_repository *repo, git_config *con * * @param out Pointer to store the loaded ODB * @param repo A repository object - * @return GIT_SUCCESS, or an error code + * @return 0, or an error code */ GIT_EXTERN(int) git_repository_odb(git_odb **out, git_repository *repo); @@ -280,7 +280,7 @@ GIT_EXTERN(void) git_repository_set_odb(git_repository *repo, git_odb *odb); * * @param out Pointer to store the loaded index * @param repo A repository object - * @return GIT_SUCCESS, or an error code + * @return 0, or an error code */ GIT_EXTERN(int) git_repository_index(git_index **out, git_repository *repo); diff --git a/include/git2/revwalk.h b/include/git2/revwalk.h index 632c67588..aac6fb7c2 100644 --- a/include/git2/revwalk.h +++ b/include/git2/revwalk.h @@ -65,7 +65,7 @@ GIT_BEGIN_DECL * * @param walker pointer to the new revision walker * @param repo the repo to walk through - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_revwalk_new(git_revwalk **walker, git_repository *repo); @@ -97,7 +97,7 @@ GIT_EXTERN(void) git_revwalk_reset(git_revwalk *walker); * * @param walk the walker being used for the traversal. * @param oid the oid of the commit to start from. - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_revwalk_push(git_revwalk *walk, const git_oid *oid); @@ -112,7 +112,7 @@ GIT_EXTERN(int) git_revwalk_push(git_revwalk *walk, const git_oid *oid); * * @param walk the walker being used for the traversal * @param glob the glob pattern references should match - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_revwalk_push_glob(git_revwalk *walk, const char *glob); @@ -120,7 +120,7 @@ GIT_EXTERN(int) git_revwalk_push_glob(git_revwalk *walk, const char *glob); * Push the repository's HEAD * * @param walk the walker being used for the traversal - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_revwalk_push_head(git_revwalk *walk); @@ -135,7 +135,7 @@ GIT_EXTERN(int) git_revwalk_push_head(git_revwalk *walk); * * @param walk the walker being used for the traversal. * @param oid the oid of commit that will be ignored during the traversal - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_revwalk_hide(git_revwalk *walk, const git_oid *oid); @@ -151,7 +151,7 @@ GIT_EXTERN(int) git_revwalk_hide(git_revwalk *walk, const git_oid *oid); * * @param walk the walker being used for the traversal * @param glob the glob pattern references should match - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_revwalk_hide_glob(git_revwalk *walk, const char *glob); @@ -159,7 +159,7 @@ GIT_EXTERN(int) git_revwalk_hide_glob(git_revwalk *walk, const char *glob); * Hide the repository's HEAD * * @param walk the walker being used for the traversal - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_revwalk_hide_head(git_revwalk *walk); @@ -170,7 +170,7 @@ GIT_EXTERN(int) git_revwalk_hide_head(git_revwalk *walk); * * @param walk the walker being used for the traversal * @param refname the referece to push - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_revwalk_push_ref(git_revwalk *walk, const char *refname); @@ -181,7 +181,7 @@ GIT_EXTERN(int) git_revwalk_push_ref(git_revwalk *walk, const char *refname); * * @param walk the walker being used for the traversal * @param refname the referece to hide - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_revwalk_hide_ref(git_revwalk *walk, const char *refname); @@ -200,8 +200,8 @@ GIT_EXTERN(int) git_revwalk_hide_ref(git_revwalk *walk, const char *refname); * * @param oid Pointer where to store the oid of the next commit * @param walk the walker to pop the commit from. - * @return GIT_SUCCESS if the next commit was found; - * GIT_EREVWALKOVER if there are no commits left to iterate + * @return 0 if the next commit was found; + * GIT_REVWALKOVER if there are no commits left to iterate */ GIT_EXTERN(int) git_revwalk_next(git_oid *oid, git_revwalk *walk); diff --git a/include/git2/signature.h b/include/git2/signature.h index e26a6c88f..cbf94269f 100644 --- a/include/git2/signature.h +++ b/include/git2/signature.h @@ -28,7 +28,7 @@ GIT_BEGIN_DECL * @param email email of the person * @param time time when the action happened * @param offset timezone offset in minutes for the time - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_signature_new(git_signature **sig_out, const char *name, const char *email, git_time_t time, int offset); @@ -39,7 +39,7 @@ GIT_EXTERN(int) git_signature_new(git_signature **sig_out, const char *name, con * @param sig_out new signature, in case of error NULL * @param name name of the person * @param email email of the person - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_signature_now(git_signature **sig_out, const char *name, const char *email); diff --git a/include/git2/status.h b/include/git2/status.h index 0130b4011..6a424dfd6 100644 --- a/include/git2/status.h +++ b/include/git2/status.h @@ -19,19 +19,19 @@ */ GIT_BEGIN_DECL -#define GIT_STATUS_CURRENT 0 +enum { + GIT_STATUS_CURRENT = 0, -/** Flags for index status */ -#define GIT_STATUS_INDEX_NEW (1 << 0) -#define GIT_STATUS_INDEX_MODIFIED (1 << 1) -#define GIT_STATUS_INDEX_DELETED (1 << 2) + GIT_STATUS_INDEX_NEW = (1 << 0), + GIT_STATUS_INDEX_MODIFIED = (1 << 1), + GIT_STATUS_INDEX_DELETED = (1 << 2), -/** Flags for worktree status */ -#define GIT_STATUS_WT_NEW (1 << 3) -#define GIT_STATUS_WT_MODIFIED (1 << 4) -#define GIT_STATUS_WT_DELETED (1 << 5) + GIT_STATUS_WT_NEW = (1 << 3), + GIT_STATUS_WT_MODIFIED = (1 << 4), + GIT_STATUS_WT_DELETED = (1 << 5), -#define GIT_STATUS_IGNORED (1 << 6) + GIT_STATUS_IGNORED = (1 << 6), +}; /** * Gather file statuses and run a callback for each one. @@ -97,11 +97,14 @@ typedef enum { * slash on the entry name). Given this flag, the directory * itself will not be included, but all the files in it will. */ -#define GIT_STATUS_OPT_INCLUDE_UNTRACKED (1 << 0) -#define GIT_STATUS_OPT_INCLUDE_IGNORED (1 << 1) -#define GIT_STATUS_OPT_INCLUDE_UNMODIFIED (1 << 2) -#define GIT_STATUS_OPT_EXCLUDE_SUBMODULES (1 << 3) -#define GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS (1 << 4) + +enum { + GIT_STATUS_OPT_INCLUDE_UNTRACKED = (1 << 0), + GIT_STATUS_OPT_INCLUDE_IGNORED = (1 << 1), + GIT_STATUS_OPT_INCLUDE_UNMODIFIED = (1 << 2), + GIT_STATUS_OPT_EXCLUDE_SUBMODULED = (1 << 3), + GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS = (1 << 4), +}; /** * Options to control how callbacks will be made by @@ -130,7 +133,7 @@ GIT_EXTERN(int) git_status_foreach_ext( * @param path the file to retrieve status for, rooted at the repo's workdir * @return GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when * the file doesn't exist in any of HEAD, the index or the worktree, - * GIT_SUCCESS otherwise + * 0 otherwise */ GIT_EXTERN(int) git_status_file( unsigned int *status_flags, diff --git a/include/git2/tag.h b/include/git2/tag.h index 8224edfea..859c28995 100644 --- a/include/git2/tag.h +++ b/include/git2/tag.h @@ -27,7 +27,7 @@ GIT_BEGIN_DECL * @param tag pointer to the looked up tag * @param repo the repo to use when locating the tag. * @param id identity of the tag to locate. - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_INLINE(int) git_tag_lookup(git_tag **tag, git_repository *repo, const git_oid *id) { @@ -44,7 +44,7 @@ GIT_INLINE(int) git_tag_lookup(git_tag **tag, git_repository *repo, const git_oi * @param repo the repo to use when locating the tag. * @param id identity of the tag to locate. * @param len the length of the short identifier - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_INLINE(int) git_tag_lookup_prefix(git_tag **tag, git_repository *repo, const git_oid *id, unsigned int len) { @@ -85,7 +85,7 @@ GIT_EXTERN(const git_oid *) git_tag_id(git_tag *tag); * * @param target pointer where to store the target * @param tag a previously loaded tag. - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_tag_target(git_object **target, git_tag *tag); @@ -161,7 +161,7 @@ GIT_EXTERN(const char *) git_tag_message(git_tag *tag); * * @param force Overwrite existing references * - * @return GIT_SUCCESS or an error code + * @return 0 or an error code * A tag object is written to the ODB, and a proper reference * is written in the /refs/tags folder, pointing to it */ @@ -212,7 +212,7 @@ GIT_EXTERN(int) git_tag_create_frombuffer( * * @param force Overwrite existing references * - * @return GIT_SUCCESS or an error code + * @return 0 or an error code * A proper reference is written in the /refs/tags folder, * pointing to the provided target object */ @@ -231,7 +231,7 @@ GIT_EXTERN(int) git_tag_create_lightweight( * @param tag_name Name of the tag to be deleted; * this name is validated for consistency. * - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_tag_delete( git_repository *repo, @@ -248,7 +248,7 @@ GIT_EXTERN(int) git_tag_delete( * @param tag_names Pointer to a git_strarray structure where * the tag names will be stored * @param repo Repository where to find the tags - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_tag_list( git_strarray *tag_names, @@ -270,7 +270,7 @@ GIT_EXTERN(int) git_tag_list( * the tag names will be stored * @param pattern Standard fnmatch pattern * @param repo Repository where to find the tags - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_tag_list_match( git_strarray *tag_names, @@ -286,7 +286,7 @@ GIT_EXTERN(int) git_tag_list_match( * * @param tag_target Pointer to the peeled git_object * @param tag The tag to be processed - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_tag_peel( git_object **tag_target, diff --git a/include/git2/tree.h b/include/git2/tree.h index 0d9db430a..777f8ff0d 100644 --- a/include/git2/tree.h +++ b/include/git2/tree.h @@ -27,7 +27,7 @@ GIT_BEGIN_DECL * @param tree pointer to the looked up tree * @param repo the repo to use when locating the tree. * @param id identity of the tree to locate. - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_INLINE(int) git_tree_lookup(git_tree **tree, git_repository *repo, const git_oid *id) { @@ -44,7 +44,7 @@ GIT_INLINE(int) git_tree_lookup(git_tree **tree, git_repository *repo, const git * @param repo the repo to use when locating the tree. * @param id identity of the tree to locate. * @param len the length of the short identifier - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_INLINE(int) git_tree_lookup_prefix(git_tree **tree, git_repository *repo, const git_oid *id, unsigned int len) { @@ -141,7 +141,7 @@ GIT_EXTERN(git_otype) git_tree_entry_type(const git_tree_entry *entry); * @param object pointer to the converted object * @param repo repository where to lookup the pointed object * @param entry a tree entry - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_tree_entry_to_object(git_object **object_out, git_repository *repo, const git_tree_entry *entry); @@ -159,7 +159,7 @@ GIT_EXTERN(int) git_tree_entry_to_object(git_object **object_out, git_repository * * @param oid Pointer where to store the written tree * @param index Index to write - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_tree_create_fromindex(git_oid *oid, git_index *index); @@ -229,7 +229,7 @@ GIT_EXTERN(const git_tree_entry *) git_treebuilder_get(git_treebuilder *bld, con * @param filename Filename of the entry * @param id SHA1 oid of the entry * @param attributes Folder attributes of the entry - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_treebuilder_insert(git_tree_entry **entry_out, git_treebuilder *bld, const char *filename, const git_oid *id, unsigned int attributes); @@ -264,7 +264,7 @@ GIT_EXTERN(void) git_treebuilder_filter(git_treebuilder *bld, int (*filter)(cons * @param oid Pointer where to store the written OID * @param repo Repository where to store the object * @param bld Tree builder to write - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_treebuilder_write(git_oid *oid, git_repository *repo, git_treebuilder *bld); @@ -278,8 +278,7 @@ GIT_EXTERN(int) git_treebuilder_write(git_oid *oid, git_repository *repo, git_tr * @param subtree Pointer where to store the subtree * @param root A previously loaded tree which will be the root of the relative path * @param subtree_path Path to the contained subtree - * @return GIT_SUCCESS on success; GIT_ENOTFOUND if the path does not lead to a - * subtree, GIT_EINVALIDPATH or an error code + * @return 0 on success; GIT_ENOTFOUND if the path does not lead to a subtree */ GIT_EXTERN(int) git_tree_get_subtree(git_tree **subtree, git_tree *root, const char *subtree_path); @@ -309,7 +308,7 @@ enum git_treewalk_mode { * @param callback Function to call on each tree entry * @param mode Traversal mode (pre or post-order) * @param payload Opaque pointer to be passed on each callback - * @return GIT_SUCCESS or an error code + * @return 0 or an error code */ GIT_EXTERN(int) git_tree_walk(git_tree *tree, git_treewalk_cb callback, int mode, void *payload); diff --git a/include/git2/types.h b/include/git2/types.h index 98eea5374..cfb0acf33 100644 --- a/include/git2/types.h +++ b/include/git2/types.h @@ -158,13 +158,13 @@ typedef enum { GIT_REF_PACKED = 4, GIT_REF_HAS_PEEL = 8, GIT_REF_LISTALL = GIT_REF_OID|GIT_REF_SYMBOLIC|GIT_REF_PACKED, -} git_rtype; +} git_ref_t; /** Basic type of any Git branch. */ typedef enum { GIT_BRANCH_LOCAL = 1, GIT_BRANCH_REMOTE = 2, -} git_branch_type; +} git_branch_t; typedef struct git_refspec git_refspec; typedef struct git_remote git_remote; diff --git a/src/attr.c b/src/attr.c index 1aa965de3..093f64d5c 100644 --- a/src/attr.c +++ b/src/attr.c @@ -13,11 +13,11 @@ static int collect_attr_files( int git_attr_get( + const char **value, git_repository *repo, uint32_t flags, const char *pathname, - const char *name, - const char **value) + const char *name) { int error; git_attr_path path; @@ -64,12 +64,12 @@ typedef struct { } attr_get_many_info; int git_attr_get_many( + const char **values, git_repository *repo, uint32_t flags, const char *pathname, size_t num_attr, - const char **names, - const char **values) + const char **names) { int error; git_attr_path path; @@ -576,11 +576,11 @@ int git_attr_cache__init(git_repository *repo) if (git_repository_config__weakptr(&cfg, repo) < 0) return -1; - ret = git_config_get_string(cfg, GIT_ATTR_CONFIG, &cache->cfg_attr_file); + ret = git_config_get_string(&cache->cfg_attr_file, cfg, GIT_ATTR_CONFIG); if (ret < 0 && ret != GIT_ENOTFOUND) return ret; - ret = git_config_get_string(cfg, GIT_IGNORE_CONFIG, &cache->cfg_excl_file); + ret = git_config_get_string(&cache->cfg_excl_file, cfg, GIT_IGNORE_CONFIG); if (ret < 0 && ret != GIT_ENOTFOUND) return ret; diff --git a/src/branch.c b/src/branch.c index 881e749a8..5d5a24038 100644 --- a/src/branch.c +++ b/src/branch.c @@ -105,7 +105,7 @@ cleanup: return error; } -int git_branch_delete(git_repository *repo, const char *branch_name, git_branch_type branch_type) +int git_branch_delete(git_repository *repo, const char *branch_name, git_branch_t branch_type) { git_reference *branch = NULL; git_reference *head = NULL; diff --git a/src/config.c b/src/config.c index 0ab0cd424..618202c34 100644 --- a/src/config.c +++ b/src/config.c @@ -199,30 +199,6 @@ int git_config_set_string(git_config *cfg, const char *name, const char *value) return file->set(file, name, value); } -int git_config_parse_bool(int *out, const char *value) -{ - /* A missing value means true */ - if (value == NULL) { - *out = 1; - return 0; - } - - if (!strcasecmp(value, "true") || - !strcasecmp(value, "yes") || - !strcasecmp(value, "on")) { - *out = 1; - return 0; - } - if (!strcasecmp(value, "false") || - !strcasecmp(value, "no") || - !strcasecmp(value, "off")) { - *out = 0; - return 0; - } - - return -1; -} - static int parse_int64(int64_t *out, const char *value) { const char *num_end; @@ -297,7 +273,7 @@ int git_config_lookup_map_value( case GIT_CVAR_TRUE: { int bool_val; - if (git_config_parse_bool(&bool_val, value) == 0 && + if (git__parse_bool(&bool_val, value) == 0 && bool_val == (int)m->cvar_type) { *out = m->map_value; return 0; @@ -322,12 +298,17 @@ int git_config_lookup_map_value( return GIT_ENOTFOUND; } -int git_config_get_mapped(git_config *cfg, const char *name, git_cvar_map *maps, size_t map_n, int *out) +int git_config_get_mapped( + int *out, + git_config *cfg, + const char *name, + git_cvar_map *maps, + size_t map_n) { const char *value; int ret; - ret = git_config_get_string(cfg, name, &value); + ret = git_config_get_string(&value, cfg, name); if (ret < 0) return ret; @@ -339,12 +320,12 @@ int git_config_get_mapped(git_config *cfg, const char *name, git_cvar_map *maps, return -1; } -int git_config_get_int64(git_config *cfg, const char *name, int64_t *out) +int git_config_get_int64(int64_t *out, git_config *cfg, const char *name) { const char *value; int ret; - ret = git_config_get_string(cfg, name, &value); + ret = git_config_get_string(&value, cfg, name); if (ret < 0) return ret; @@ -356,12 +337,12 @@ int git_config_get_int64(git_config *cfg, const char *name, int64_t *out) return 0; } -int git_config_get_int32(git_config *cfg, const char *name, int32_t *out) +int git_config_get_int32(int32_t *out, git_config *cfg, const char *name) { const char *value; int ret; - ret = git_config_get_string(cfg, name, &value); + ret = git_config_get_string(&value, cfg, name); if (ret < 0) return ret; @@ -373,16 +354,16 @@ int git_config_get_int32(git_config *cfg, const char *name, int32_t *out) return 0; } -int git_config_get_bool(git_config *cfg, const char *name, int *out) +int git_config_get_bool(int *out, git_config *cfg, const char *name) { const char *value; int ret; - ret = git_config_get_string(cfg, name, &value); + ret = git_config_get_string(&value, cfg, name); if (ret < 0) return ret; - if (git_config_parse_bool(out, value) == 0) + if (git__parse_bool(out, value) == 0) return 0; if (parse_int32(out, value) == 0) { @@ -394,7 +375,7 @@ int git_config_get_bool(git_config *cfg, const char *name, int *out) return -1; } -int git_config_get_string(git_config *cfg, const char *name, const char **out) +int git_config_get_string(const char **out, git_config *cfg, const char *name) { file_internal *internal; unsigned int i; @@ -462,7 +443,7 @@ int git_config_find_global_r(git_buf *path) return git_futils_find_global_file(path, GIT_CONFIG_FILENAME); } -int git_config_find_global(char *global_config_path) +int git_config_find_global(char *global_config_path, size_t length) { git_buf path = GIT_BUF_INIT; int ret = git_config_find_global_r(&path); @@ -472,14 +453,14 @@ int git_config_find_global(char *global_config_path) return ret; } - if (path.size > GIT_PATH_MAX) { + if (path.size >= length) { git_buf_free(&path); giterr_set(GITERR_NOMEMORY, "Path is to long to fit on the given buffer"); return -1; } - git_buf_copy_cstr(global_config_path, GIT_PATH_MAX, &path); + git_buf_copy_cstr(global_config_path, length, &path); git_buf_free(&path); return 0; } @@ -489,7 +470,7 @@ int git_config_find_system_r(git_buf *path) return git_futils_find_system_file(path, GIT_CONFIG_FILENAME_SYSTEM); } -int git_config_find_system(char *system_config_path) +int git_config_find_system(char *system_config_path, size_t length) { git_buf path = GIT_BUF_INIT; int ret = git_config_find_system_r(&path); @@ -499,14 +480,14 @@ int git_config_find_system(char *system_config_path) return ret; } - if (path.size > GIT_PATH_MAX) { + if (path.size >= length) { git_buf_free(&path); giterr_set(GITERR_NOMEMORY, "Path is to long to fit on the given buffer"); return -1; } - git_buf_copy_cstr(system_config_path, GIT_PATH_MAX, &path); + git_buf_copy_cstr(system_config_path, length, &path); git_buf_free(&path); return 0; } @@ -514,11 +495,14 @@ int git_config_find_system(char *system_config_path) int git_config_open_global(git_config **out) { int error; - char global_path[GIT_PATH_MAX]; + git_buf path = GIT_BUF_INIT; - if ((error = git_config_find_global(global_path)) < 0) + if ((error = git_config_find_global_r(&path)) < 0) return error; - return git_config_open_ondisk(out, global_path); + error = git_config_open_ondisk(out, git_buf_cstr(&path)); + git_buf_free(&path); + + return error; } diff --git a/src/config_cache.c b/src/config_cache.c index 3679a9646..ca9602e56 100644 --- a/src/config_cache.c +++ b/src/config_cache.c @@ -66,22 +66,22 @@ int git_repository__cvar(int *out, git_repository *repo, git_cvar_cached cvar) int error; error = git_repository_config__weakptr(&config, repo); - if (error < GIT_SUCCESS) + if (error < 0) return error; - error = git_config_get_mapped( - config, data->cvar_name, data->maps, data->map_count, out); + error = git_config_get_mapped(out, + config, data->cvar_name, data->maps, data->map_count); if (error == GIT_ENOTFOUND) *out = data->default_value; - else if (error < GIT_SUCCESS) + else if (error < 0) return error; repo->cvar_cache[(int)cvar] = *out; } - return GIT_SUCCESS; + return 0; } void git_repository__cvar_cache_clear(git_repository *repo) diff --git a/src/crlf.c b/src/crlf.c index 5d09a1f40..303a46d3b 100644 --- a/src/crlf.c +++ b/src/crlf.c @@ -82,8 +82,8 @@ static int crlf_load_attributes(struct crlf_attrs *ca, git_repository *repo, con const char *attr_vals[NUM_CONV_ATTRS]; int error; - error = git_attr_get_many( - repo, 0, path, NUM_CONV_ATTRS, attr_names, attr_vals); + error = git_attr_get_many(attr_vals, + repo, 0, path, NUM_CONV_ATTRS, attr_names); if (error == GIT_ENOTFOUND) { ca->crlf_action = GIT_CRLF_GUESS; @@ -91,7 +91,7 @@ static int crlf_load_attributes(struct crlf_attrs *ca, git_repository *repo, con return 0; } - if (error == GIT_SUCCESS) { + if (error == 0) { ca->crlf_action = check_crlf(attr_vals[2]); /* text */ if (ca->crlf_action == GIT_CRLF_GUESS) ca->crlf_action = check_crlf(attr_vals[0]); /* clrf */ @@ -100,7 +100,7 @@ static int crlf_load_attributes(struct crlf_attrs *ca, git_repository *repo, con return 0; } - return error; + return -1; } static int drop_crlf(git_buf *dest, const git_buf *source) @@ -207,7 +207,7 @@ int git_filter_add__crlf_to_odb(git_vector *filters, git_repository *repo, const int auto_crlf; if ((error = git_repository__cvar( - &auto_crlf, repo, GIT_CVAR_AUTO_CRLF)) < GIT_SUCCESS) + &auto_crlf, repo, GIT_CVAR_AUTO_CRLF)) < 0) return error; if (auto_crlf == GIT_AUTO_CRLF_FALSE) diff --git a/src/delta-apply.c b/src/delta-apply.c index d3be084e0..815ca8f16 100644 --- a/src/delta-apply.c +++ b/src/delta-apply.c @@ -111,7 +111,7 @@ int git__delta_apply( if (delta != delta_end || res_sz) goto fail; - return GIT_SUCCESS; + return 0; fail: git__free(out->data); diff --git a/src/delta-apply.h b/src/delta-apply.h index e46ef9af4..66fa76d43 100644 --- a/src/delta-apply.h +++ b/src/delta-apply.h @@ -20,7 +20,7 @@ * @param delta the delta to execute copy/insert instructions from. * @param delta_len total number of bytes in the delta. * @return - * - GIT_SUCCESS on a successful delta unpack. + * - 0 on a successful delta unpack. * - GIT_ERROR if the delta is corrupt or doesn't match the base. */ extern int git__delta_apply( diff --git a/src/diff.c b/src/diff.c index d5c0c8ba5..0b2f8fb50 100644 --- a/src/diff.c +++ b/src/diff.c @@ -270,8 +270,10 @@ static int diff_delta__cmp(const void *a, const void *b) static int config_bool(git_config *cfg, const char *name, int defvalue) { int val = defvalue; - if (git_config_get_bool(cfg, name, &val) < 0) + + if (git_config_get_bool(&val, cfg, name) < 0) giterr_clear(); + return val; } diff --git a/src/diff_output.c b/src/diff_output.c index 4ad736e26..ba7ef8245 100644 --- a/src/diff_output.c +++ b/src/diff_output.c @@ -103,7 +103,7 @@ static int diff_output_cb(void *priv, mmbuffer_t *bufs, int len) static int update_file_is_binary_by_attr(git_repository *repo, git_diff_file *file) { const char *value; - if (git_attr_get(repo, 0, file->path, "diff", &value) < 0) + if (git_attr_get(&value, repo, 0, file->path, "diff") < 0) return -1; if (GIT_ATTR_FALSE(value)) diff --git a/src/fetch.c b/src/fetch.c index 08c789ddb..c92cf4ef5 100644 --- a/src/fetch.c +++ b/src/fetch.c @@ -165,7 +165,7 @@ int git_fetch_setup_walk(git_revwalk **out, git_repository *repo) unsigned int i; git_reference *ref; - if (git_reference_listall(&refs, repo, GIT_REF_LISTALL) < 0) + if (git_reference_list(&refs, repo, GIT_REF_LISTALL) < 0) return -1; if (git_revwalk_new(&walk, repo) < 0) diff --git a/src/filter.c b/src/filter.c index 73fe83e61..8fa3eb684 100644 --- a/src/filter.c +++ b/src/filter.c @@ -129,7 +129,7 @@ int git_filters_apply(git_buf *dest, git_buf *source, git_vector *filters) if (git_buf_len(source) == 0) { git_buf_clear(dest); - return GIT_SUCCESS; + return 0; } /* Pre-grow the destination buffer to more or less the size @@ -160,6 +160,6 @@ int git_filters_apply(git_buf *dest, git_buf *source, git_vector *filters) if (src != 1) git_buf_swap(dest, source); - return GIT_SUCCESS; + return 0; } diff --git a/src/filter.h b/src/filter.h index 5a77f25c6..66e370aef 100644 --- a/src/filter.h +++ b/src/filter.h @@ -75,7 +75,7 @@ extern int git_filters_load(git_vector *filters, git_repository *repo, const cha * @param dest Buffer to store the result of the filtering * @param source Buffer containing the document to filter * @param filters A non-empty vector of filters as supplied by `git_filters_load` - * @return GIT_SUCCESS on success, an error code otherwise + * @return 0 on success, an error code otherwise */ extern int git_filters_apply(git_buf *dest, git_buf *source, git_vector *filters); diff --git a/src/indexer.c b/src/indexer.c index 01bec0877..6f735e651 100644 --- a/src/indexer.c +++ b/src/indexer.c @@ -205,9 +205,9 @@ static int store_delta(git_indexer_stream *idx) } error = packfile_unpack_compressed(&obj, idx->pack, &w, &idx->off, entry_size, type); - if (error == GIT_ESHORTBUFFER) { + if (error == GIT_EBUFS) { idx->off = entry_start; - return GIT_ESHORTBUFFER; + return GIT_EBUFS; } else if (error < 0){ return -1; } @@ -355,7 +355,7 @@ int git_indexer_stream_add(git_indexer_stream *idx, const void *data, size_t siz return 0; error = git_packfile_unpack(&obj, idx->pack, &idx->off); - if (error == GIT_ESHORTBUFFER) { + if (error == GIT_EBUFS) { idx->off = entry_start; return 0; } @@ -363,7 +363,7 @@ int git_indexer_stream_add(git_indexer_stream *idx, const void *data, size_t siz if (error < 0) { idx->off = entry_start; error = store_delta(idx); - if (error == GIT_ESHORTBUFFER) + if (error == GIT_EBUFS) return 0; if (error < 0) return error; diff --git a/src/notes.c b/src/notes.c index a86a75b01..84ad94087 100644 --- a/src/notes.c +++ b/src/notes.c @@ -274,7 +274,7 @@ static int note_get_default_ref(const char **out, git_repository *repo) if (git_repository_config__weakptr(&cfg, repo) < 0) return -1; - ret = git_config_get_string(cfg, "core.notesRef", out); + ret = git_config_get_string(out, cfg, "core.notesRef"); if (ret == GIT_ENOTFOUND) { *out = GIT_NOTES_DEFAULT_REF; return 0; diff --git a/src/object.c b/src/object.c index deeacb27c..d3673eda0 100644 --- a/src/object.c +++ b/src/object.c @@ -74,7 +74,7 @@ static int create_object(git_object **object_out, git_otype type) object->type = type; *object_out = object; - return GIT_SUCCESS; + return 0; } int git_object_lookup_prefix( @@ -87,7 +87,7 @@ int git_object_lookup_prefix( git_object *object = NULL; git_odb *odb = NULL; git_odb_object *odb_obj; - int error = GIT_SUCCESS; + int error = 0; assert(repo && object_out && id); @@ -95,7 +95,7 @@ int git_object_lookup_prefix( return GIT_EAMBIGUOUS; error = git_repository_odb__weakptr(&odb, repo); - if (error < GIT_SUCCESS) + if (error < 0) return error; if (len > GIT_OID_HEXSZ) diff --git a/src/odb.c b/src/odb.c index 03cd912e9..a6a18f831 100644 --- a/src/odb.c +++ b/src/odb.c @@ -505,7 +505,7 @@ int git_odb_read_header(size_t *len_p, git_otype *type_p, git_odb *db, const git error = b->read_header(len_p, type_p, b, id); } - if (!error || error == GIT_EPASSTHROUGH) + if (!error || error == GIT_PASSTHROUGH) return 0; /* @@ -545,7 +545,7 @@ int git_odb_read(git_odb_object **out, git_odb *db, const git_oid *id) * will never have called giterr_set(). */ - if (error && error != GIT_EPASSTHROUGH) + if (error && error != GIT_PASSTHROUGH) return error; *out = git_cache_try_store(&db->cache, new_odb_object(id, &raw)); @@ -582,7 +582,7 @@ int git_odb_read_prefix( if (b->read != NULL) { git_oid full_oid; error = b->read_prefix(&full_oid, &raw.data, &raw.len, &raw.type, b, short_id, len); - if (error == GIT_ENOTFOUND || error == GIT_EPASSTHROUGH) + if (error == GIT_ENOTFOUND || error == GIT_PASSTHROUGH) continue; if (error) @@ -623,7 +623,7 @@ int git_odb_write( error = b->write(oid, b, data, len, type); } - if (!error || error == GIT_EPASSTHROUGH) + if (!error || error == GIT_PASSTHROUGH) return 0; /* if no backends were able to write the object directly, we try a streaming @@ -662,7 +662,7 @@ int git_odb_open_wstream( error = init_fake_wstream(stream, b, size, type); } - if (error == GIT_EPASSTHROUGH) + if (error == GIT_PASSTHROUGH) error = 0; return error; @@ -683,7 +683,7 @@ int git_odb_open_rstream(git_odb_stream **stream, git_odb *db, const git_oid *oi error = b->readstream(stream, b, oid); } - if (error == GIT_EPASSTHROUGH) + if (error == GIT_PASSTHROUGH) error = 0; return error; diff --git a/src/pack.c b/src/pack.c index 4a6bc6ae8..0db1069de 100644 --- a/src/pack.c +++ b/src/pack.c @@ -222,7 +222,7 @@ static int packfile_unpack_header1( shift = 4; while (c & 0x80) { if (len <= used) - return GIT_ESHORTBUFFER; + return GIT_EBUFS; if (bitsizeof(long) <= shift) { *usedp = 0; @@ -260,11 +260,11 @@ int git_packfile_unpack_header( // base = pack_window_open(p, w_curs, *curpos, &left); base = git_mwindow_open(mwf, w_curs, *curpos, 20, &left); if (base == NULL) - return GIT_ESHORTBUFFER; + return GIT_EBUFS; ret = packfile_unpack_header1(&used, size_p, type_p, base, left); git_mwindow_close(w_curs); - if (ret == GIT_ESHORTBUFFER) + if (ret == GIT_EBUFS) return ret; else if (ret < 0) return packfile_error("header length is zero"); @@ -428,7 +428,7 @@ int packfile_unpack_compressed( if (st == Z_BUF_ERROR && in == NULL) { inflateEnd(&stream); git__free(buffer); - return GIT_ESHORTBUFFER; + return GIT_EBUFS; } *curpos += stream.next_in - in; @@ -467,7 +467,7 @@ git_off_t get_delta_base( base_info = pack_window_open(p, w_curs, *curpos, &left); /* Assumption: the only reason this would fail is because the file is too small */ if (base_info == NULL) - return GIT_ESHORTBUFFER; + return GIT_EBUFS; /* pack_window_open() assured us we have [base_info, base_info + 20) * as a range that we can look at without walking off the * end of the mapped window. Its actually the hash size @@ -480,7 +480,7 @@ git_off_t get_delta_base( base_offset = c & 127; while (c & 128) { if (left <= used) - return GIT_ESHORTBUFFER; + return GIT_EBUFS; base_offset += 1; if (!base_offset || MSB(base_offset, 7)) return 0; /* overflow */ diff --git a/src/pkt.c b/src/pkt.c index b9c87f169..95430ddfc 100644 --- a/src/pkt.c +++ b/src/pkt.c @@ -208,7 +208,7 @@ int git_pkt_parse_line( /* Not even enough for the length */ if (bufflen > 0 && bufflen < PKT_LEN_SIZE) - return GIT_ESHORTBUFFER; + return GIT_EBUFS; len = parse_len(line); if (len < 0) { @@ -230,7 +230,7 @@ int git_pkt_parse_line( * enough in the buffer to satisfy this line */ if (bufflen > 0 && bufflen < (size_t)len) - return GIT_ESHORTBUFFER; + return GIT_EBUFS; line += PKT_LEN_SIZE; /* diff --git a/src/protocol.c b/src/protocol.c index a75354121..6b3861796 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -34,7 +34,7 @@ int git_protocol_store_refs(git_protocol *p, const char *data, size_t len) return 0; error = git_pkt_parse_line(&pkt, ptr, &line_end, git_buf_len(buf)); - if (error == GIT_ESHORTBUFFER) + if (error == GIT_EBUFS) return 0; /* Ask for more */ if (error < 0) return p->error = -1; diff --git a/src/refs.c b/src/refs.c index 28e8f786b..1ef3e13a4 100644 --- a/src/refs.c +++ b/src/refs.c @@ -194,10 +194,10 @@ corrupt: return -1; } -static git_rtype loose_guess_rtype(const git_buf *full_path) +static git_ref_t loose_guess_rtype(const git_buf *full_path) { git_buf ref_file = GIT_BUF_INIT; - git_rtype type; + git_ref_t type; type = GIT_REF_INVALID; @@ -1153,7 +1153,7 @@ int git_reference_lookup_resolved( /** * Getters */ -git_rtype git_reference_type(git_reference *ref) +git_ref_t git_reference_type(git_reference *ref) { assert(ref); @@ -1518,7 +1518,7 @@ static int cb__reflist_add(const char *ref, void *data) return git_vector_insert((git_vector *)data, git__strdup(ref)); } -int git_reference_listall( +int git_reference_list( git_strarray *array, git_repository *repo, unsigned int list_flags) diff --git a/src/refspec.c b/src/refspec.c index ee4d3a158..697b1bf87 100644 --- a/src/refspec.c +++ b/src/refspec.c @@ -68,7 +68,7 @@ int git_refspec_transform(char *out, size_t outlen, const git_refspec *spec, con baselen = strlen(spec->dst); if (outlen <= baselen) { giterr_set(GITERR_INVALID, "Reference name too long"); - return GIT_ESHORTBUFFER; + return GIT_EBUFS; } /* @@ -90,7 +90,7 @@ int git_refspec_transform(char *out, size_t outlen, const git_refspec *spec, con if (outlen <= baselen + namelen) { giterr_set(GITERR_INVALID, "Reference name too long"); - return GIT_ESHORTBUFFER; + return GIT_EBUFS; } memcpy(out, spec->dst, baselen); diff --git a/src/refspec.h b/src/refspec.h index 64c0ded0c..2db504910 100644 --- a/src/refspec.h +++ b/src/refspec.h @@ -28,7 +28,7 @@ int git_refspec_parse(struct git_refspec *refspec, const char *str); * @param out where to store the target name * @param spec the refspec * @param name the name of the reference to transform - * @return GIT_SUCCESS or error if buffer allocation fails + * @return 0 or error if buffer allocation fails */ int git_refspec_transform_r(git_buf *out, const git_refspec *spec, const char *name); diff --git a/src/remote.c b/src/remote.c index a5cfc822e..9740344f8 100644 --- a/src/remote.c +++ b/src/remote.c @@ -48,7 +48,7 @@ static int parse_remote_refspec(git_config *cfg, git_refspec *refspec, const cha int error; const char *val; - if ((error = git_config_get_string(cfg, var, &val)) < 0) + if ((error = git_config_get_string(&val, cfg, var)) < 0) return error; return refspec_parse(refspec, val); @@ -121,7 +121,7 @@ int git_remote_load(git_remote **out, git_repository *repo, const char *name) goto cleanup; } - if ((error = git_config_get_string(config, git_buf_cstr(&buf), &val)) < 0) + if ((error = git_config_get_string(&val, config, git_buf_cstr(&buf))) < 0) goto cleanup; remote->repo = repo; @@ -338,7 +338,7 @@ int git_remote_update_tips(git_remote *remote, int (*cb)(const char *refname, co assert(remote); if (refs->length == 0) - return GIT_SUCCESS; + return 0; /* HEAD is only allowed to be the first in the list */ head = refs->contents[0]; diff --git a/src/repository.c b/src/repository.c index c5eed531b..6ce3a560f 100644 --- a/src/repository.c +++ b/src/repository.c @@ -25,8 +25,7 @@ #define GIT_BRANCH_MASTER "master" -#define GIT_CONFIG_CORE_REPOSITORYFORMATVERSION "core.repositoryformatversion" -#define GIT_REPOSITORYFORMATVERSION 0 +#define GIT_REPO_VERSION 0 static void drop_odb(git_repository *repo) { @@ -125,7 +124,7 @@ static int load_config_data(git_repository *repo) if (git_repository_config__weakptr(&config, repo) < 0) return -1; - if (git_config_get_bool(config, "core.bare", &is_bare) < 0) + if (git_config_get_bool(&is_bare, config, "core.bare") < 0) return -1; /* FIXME: We assume that a missing core.bare variable is an error. Is this right? */ @@ -146,7 +145,7 @@ static int load_workdir(git_repository *repo, git_buf *parent_path) if (git_repository_config__weakptr(&config, repo) < 0) return -1; - error = git_config_get_string(config, "core.worktree", &worktree); + error = git_config_get_string(&worktree, config, "core.worktree"); if (!error && worktree != NULL) repo->workdir = git__strdup(worktree); else if (error != GIT_ENOTFOUND) @@ -607,13 +606,13 @@ static int check_repositoryformatversion(git_repository *repo) if (git_repository_config__weakptr(&config, repo) < 0) return -1; - if (git_config_get_int32(config, GIT_CONFIG_CORE_REPOSITORYFORMATVERSION, &version) < 0) + if (git_config_get_int32(&version, config, "core.repositoryformatversion") < 0) return -1; - if (GIT_REPOSITORYFORMATVERSION < version) { + if (GIT_REPO_VERSION < version) { giterr_set(GITERR_REPOSITORY, "Unsupported repository version %d. Only versions up to %d are supported.", - version, GIT_REPOSITORYFORMATVERSION); + version, GIT_REPO_VERSION); return -1; } @@ -676,7 +675,7 @@ static int repo_init_config(const char *git_dir, int is_bare) } SET_REPO_CONFIG(bool, "core.bare", is_bare); - SET_REPO_CONFIG(int32, GIT_CONFIG_CORE_REPOSITORYFORMATVERSION, GIT_REPOSITORYFORMATVERSION); + SET_REPO_CONFIG(int32, "core.repositoryformatversion", GIT_REPO_VERSION); /* TODO: what other defaults? */ git_buf_free(&cfg_path); diff --git a/src/revwalk.c b/src/revwalk.c index d0a5120bd..e64d93f20 100644 --- a/src/revwalk.c +++ b/src/revwalk.c @@ -316,7 +316,7 @@ static int merge_bases_many(commit_list **out, git_revwalk *walk, commit_object if ((p->flags & flags) == flags) continue; - if ((error = commit_parse(walk, p)) < GIT_SUCCESS) + if ((error = commit_parse(walk, p)) < 0) return error; p->flags |= flags; @@ -600,7 +600,7 @@ static int revwalk_next_timesort(commit_object **object_out, git_revwalk *walk) } } - return GIT_EREVWALKOVER; + return GIT_REVWALKOVER; } static int revwalk_next_unsorted(commit_object **object_out, git_revwalk *walk) @@ -618,7 +618,7 @@ static int revwalk_next_unsorted(commit_object **object_out, git_revwalk *walk) } } - return GIT_EREVWALKOVER; + return GIT_REVWALKOVER; } static int revwalk_next_toposort(commit_object **object_out, git_revwalk *walk) @@ -629,7 +629,7 @@ static int revwalk_next_toposort(commit_object **object_out, git_revwalk *walk) for (;;) { next = commit_list_pop(&walk->iterator_topo); if (next == NULL) - return GIT_EREVWALKOVER; + return GIT_REVWALKOVER; if (next->in_degree > 0) { next->topo_delay = 1; @@ -654,7 +654,7 @@ static int revwalk_next_toposort(commit_object **object_out, git_revwalk *walk) static int revwalk_next_reverse(commit_object **object_out, git_revwalk *walk) { *object_out = commit_list_pop(&walk->iterator_reverse); - return *object_out ? 0 : GIT_EREVWALKOVER; + return *object_out ? 0 : GIT_REVWALKOVER; } @@ -670,7 +670,7 @@ static int prepare_walk(git_revwalk *walk) * so we know that the walk is already over. */ if (walk->one == NULL) - return GIT_EREVWALKOVER; + return GIT_REVWALKOVER; /* first figure out what the merge bases are */ if (merge_bases_many(&bases, walk, walk->one, &walk->twos) < 0) @@ -698,7 +698,7 @@ static int prepare_walk(git_revwalk *walk) return -1; } - if (error != GIT_EREVWALKOVER) + if (error != GIT_REVWALKOVER) return error; walk->get_next = &revwalk_next_toposort; @@ -710,7 +710,7 @@ static int prepare_walk(git_revwalk *walk) if (commit_list_insert(next, &walk->iterator_reverse) == NULL) return -1; - if (error != GIT_EREVWALKOVER) + if (error != GIT_REVWALKOVER) return error; walk->get_next = &revwalk_next_reverse; @@ -809,9 +809,9 @@ int git_revwalk_next(git_oid *oid, git_revwalk *walk) error = walk->get_next(&next, walk); - if (error == GIT_EREVWALKOVER) { + if (error == GIT_REVWALKOVER) { git_revwalk_reset(walk); - return GIT_EREVWALKOVER; + return GIT_REVWALKOVER; } if (!error) diff --git a/src/signature.c b/src/signature.c index 4d6d11c70..7d329c4c9 100644 --- a/src/signature.c +++ b/src/signature.c @@ -167,7 +167,7 @@ static int parse_timezone_offset(const char *buffer, int *offset_out) if (*offset_start == '\n') { *offset_out = 0; - return GIT_SUCCESS; + return 0; } if (offset_start[0] != '-' && offset_start[0] != '+') @@ -176,7 +176,7 @@ static int parse_timezone_offset(const char *buffer, int *offset_out) if (offset_start[1] < '0' || offset_start[1] > '9') return timezone_error("expected initial digit"); - if (git__strtol32(&dec_offset, offset_start + 1, &offset_end, 10) < GIT_SUCCESS) + if (git__strtol32(&dec_offset, offset_start + 1, &offset_end, 10) < 0) return timezone_error("not a valid number"); if (offset_end - offset_start != 5) diff --git a/src/submodule.c b/src/submodule.c index 1b5b59f45..3c07e657d 100644 --- a/src/submodule.c +++ b/src/submodule.c @@ -218,8 +218,11 @@ static int submodule_from_config( sm->update = (git_submodule_update_t)val; } else if (strcmp(property, "fetchRecurseSubmodules") == 0) { - if (git_config_parse_bool(&sm->fetch_recurse, value) < 0) + if (git__parse_bool(&sm->fetch_recurse, value) < 0) { + giterr_set(GITERR_INVALID, + "Invalid value for submodule 'fetchRecurseSubmodules' property: '%s'", value); goto fail; + } } else if (strcmp(property, "ignore") == 0) { int val; diff --git a/src/tag.c b/src/tag.c index 13481c2a6..63424f530 100644 --- a/src/tag.c +++ b/src/tag.c @@ -168,7 +168,7 @@ static int retrieve_tag_reference( return -1; error = git_reference_lookup(&tag_ref, repo, ref_name_out->ptr); - if (error < GIT_SUCCESS) + if (error < 0) return error; /* Be it not foundo or corrupted */ *tag_reference_out = tag_ref; @@ -254,7 +254,7 @@ static int git_tag_create__internal( } error = retrieve_tag_reference_oid(oid, &ref_name, repo, tag_name); - if (error < GIT_SUCCESS && error != GIT_ENOTFOUND) + if (error < 0 && error != GIT_ENOTFOUND) return -1; /** Ensure the tag name doesn't conflict with an already existing @@ -332,7 +332,7 @@ int git_tag_create_frombuffer(git_oid *oid, git_repository *repo, const char *bu } error = retrieve_tag_reference_oid(oid, &ref_name, repo, tag.tag_name); - if (error < GIT_SUCCESS && error != GIT_ENOTFOUND) + if (error < 0 && error != GIT_ENOTFOUND) goto on_error; /* We don't need these objects after this */ @@ -414,7 +414,7 @@ static int tag_list_cb(const char *tag_name, void *payload) return 0; filter = (tag_filter_data *)payload; - if (!*filter->pattern || p_fnmatch(filter->pattern, tag_name + GIT_REFS_TAGS_DIR_LEN, 0) == GIT_SUCCESS) + if (!*filter->pattern || p_fnmatch(filter->pattern, tag_name + GIT_REFS_TAGS_DIR_LEN, 0) == 0) return git_vector_insert(filter->taglist, git__strdup(tag_name)); return 0; @@ -428,7 +428,7 @@ int git_tag_list_match(git_strarray *tag_names, const char *pattern, git_reposit assert(tag_names && repo && pattern); - if (git_vector_init(&taglist, 8, NULL) < GIT_SUCCESS) + if (git_vector_init(&taglist, 8, NULL) < 0) return -1; filter.taglist = &taglist; diff --git a/src/transport.c b/src/transport.c index bc4248d5b..5b2cd7ea4 100644 --- a/src/transport.c +++ b/src/transport.c @@ -37,7 +37,7 @@ static git_transport_cb transport_find_fn(const char *url) } /* still here? Check to see if the path points to a file on the local file system */ - if ((git_path_exists(url) == GIT_SUCCESS) && git_path_isdir(url)) + if ((git_path_exists(url) == 0) && git_path_isdir(url)) return &git_transport_local; /* It could be a SSH remote path. Check to see if there's a : */ @@ -72,7 +72,7 @@ int git_transport_new(git_transport **out, const char *url) } error = fn(&transport); - if (error < GIT_SUCCESS) + if (error < 0) return error; transport->url = git__strdup(url); @@ -80,7 +80,7 @@ int git_transport_new(git_transport **out, const char *url) *out = transport; - return GIT_SUCCESS; + return 0; } /* from remote.h */ diff --git a/src/transports/git.c b/src/transports/git.c index 9a1741941..5baa810f0 100644 --- a/src/transports/git.c +++ b/src/transports/git.c @@ -147,7 +147,7 @@ static int store_refs(transport_git *t) return 0; ret = git_protocol_store_refs(&t->proto, buf->data, buf->offset); - if (ret == GIT_ESHORTBUFFER) { + if (ret == GIT_EBUFS) { gitno_consume_n(buf, buf->len); continue; } @@ -279,7 +279,7 @@ static int recv_pkt(gitno_buffer *buf) return -1; error = git_pkt_parse_line(&pkt, ptr, &line_end, buf->offset); - if (error == GIT_ESHORTBUFFER) + if (error == GIT_EBUFS) continue; if (error < 0) return -1; @@ -344,7 +344,7 @@ static int git_negotiate_fetch(git_transport *transport, git_repository *repo, c } } - if (error < 0 && error != GIT_EREVWALKOVER) + if (error < 0 && error != GIT_REVWALKOVER) goto on_error; /* Tell the other end that we're done negotiating */ @@ -384,10 +384,10 @@ static int git_download_pack(git_transport *transport, git_repository *repo, git } error = git_pkt_parse_line(&pkt, ptr, &line_end, buf->offset); - if (error == GIT_ESHORTBUFFER) + if (error == GIT_EBUFS) break; - if (error < GIT_SUCCESS) + if (error < 0) return error; if (pkt->type == GIT_PKT_PACK) { diff --git a/src/transports/http.c b/src/transports/http.c index bc4a615f1..2a8ebbb09 100644 --- a/src/transports/http.c +++ b/src/transports/http.c @@ -354,10 +354,10 @@ static int on_body_parse_response(http_parser *parser, const char *str, size_t l return 0; error = git_pkt_parse_line(&pkt, ptr, &line_end, git_buf_len(buf)); - if (error == GIT_ESHORTBUFFER) { + if (error == GIT_EBUFS) { return 0; /* Ask for more */ } - if (error < GIT_SUCCESS) + if (error < 0) return t->error = -1; git_buf_consume(buf, line_end); @@ -486,7 +486,7 @@ static int http_negotiate_fetch(git_transport *transport, git_repository *repo, git_buf_clear(&request); git_buf_clear(&data); - if (ret < GIT_SUCCESS || i >= 256) + if (ret < 0 || i >= 256) break; if ((ret = parse_response(t)) < 0) diff --git a/src/transports/local.c b/src/transports/local.c index aa5155ef6..000993e69 100644 --- a/src/transports/local.c +++ b/src/transports/local.c @@ -91,7 +91,7 @@ static int store_refs(transport_local *t) assert(t); - if (git_reference_listall(&ref_names, t->repo, GIT_REF_LISTALL) < 0 || + if (git_reference_list(&ref_names, t->repo, GIT_REF_LISTALL) < 0 || git_vector_init(&t->refs, (unsigned int)ref_names.count, NULL) < 0) goto on_error; diff --git a/src/tree.c b/src/tree.c index 5acee4a41..92b1b1e39 100644 --- a/src/tree.c +++ b/src/tree.c @@ -647,7 +647,7 @@ static int tree_frompath( { char *slash_pos = NULL; const git_tree_entry* entry; - int error = GIT_SUCCESS; + int error = 0; git_tree *subtree; if (!*(treeentry_path->ptr + offset)) { @@ -724,7 +724,7 @@ static int tree_walk_post( git_buf *path, void *payload) { - int error = GIT_SUCCESS; + int error = 0; unsigned int i; for (i = 0; i < tree->entries.length; ++i) { @@ -761,7 +761,7 @@ static int tree_walk_post( int git_tree_walk(git_tree *tree, git_treewalk_cb callback, int mode, void *payload) { - int error = GIT_SUCCESS; + int error = 0; git_buf root_path = GIT_BUF_INIT; switch (mode) { diff --git a/src/util.c b/src/util.c index 9fd5f286c..ce770203a 100644 --- a/src/util.c +++ b/src/util.c @@ -411,3 +411,27 @@ int git__strcmp_cb(const void *a, const void *b) return strcmp(stra, strb); } + +int git__parse_bool(int *out, const char *value) +{ + /* A missing value means true */ + if (value == NULL) { + *out = 1; + return 0; + } + + if (!strcasecmp(value, "true") || + !strcasecmp(value, "yes") || + !strcasecmp(value, "on")) { + *out = 1; + return 0; + } + if (!strcasecmp(value, "false") || + !strcasecmp(value, "no") || + !strcasecmp(value, "off")) { + *out = 0; + return 0; + } + + return -1; +} diff --git a/src/util.h b/src/util.h index cb5e83ce9..c6851ac7e 100644 --- a/src/util.h +++ b/src/util.h @@ -214,4 +214,13 @@ GIT_INLINE(bool) git__iswildcard(int c) return (c == '*' || c == '?' || c == '['); } +/* + * Parse a string value as a boolean, just like Core Git + * does. + * + * Valid values for true are: 'true', 'yes', 'on' + * Valid values for false are: 'false', 'no', 'off' + */ +extern int git__parse_bool(int *out, const char *value); + #endif /* INCLUDE_util_h__ */ diff --git a/tests-clar/attr/flags.c b/tests-clar/attr/flags.c index 5081de8b2..80c6e1171 100644 --- a/tests-clar/attr/flags.c +++ b/tests-clar/attr/flags.c @@ -14,7 +14,7 @@ void test_attr_flags__bare(void) cl_assert(git_repository_is_bare(repo)); cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM, "README.md", "diff", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM, "README.md", "diff")); cl_assert(GIT_ATTR_UNSPECIFIED(value)); } @@ -27,34 +27,34 @@ void test_attr_flags__index_vs_workdir(void) /* wd then index */ cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, - "README.md", "bar", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, + "README.md", "bar")); cl_assert(GIT_ATTR_FALSE(value)); cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, - "README.md", "blargh", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, + "README.md", "blargh")); cl_assert_equal_s(value, "goop"); cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, - "README.txt", "foo", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, + "README.txt", "foo")); cl_assert(GIT_ATTR_FALSE(value)); /* index then wd */ cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, - "README.md", "bar", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, + "README.md", "bar")); cl_assert(GIT_ATTR_TRUE(value)); cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, - "README.md", "blargh", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, + "README.md", "blargh")); cl_assert_equal_s(value, "garble"); cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, - "README.txt", "foo", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, + "README.txt", "foo")); cl_assert(GIT_ATTR_TRUE(value)); } @@ -65,44 +65,44 @@ void test_attr_flags__subdir(void) /* wd then index */ cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, - "sub/sub/README.md", "bar", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, + "sub/sub/README.md", "bar")); cl_assert_equal_s(value, "1234"); cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, - "sub/sub/README.txt", "another", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, + "sub/sub/README.txt", "another")); cl_assert_equal_s(value, "one"); cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, - "sub/sub/README.txt", "again", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, + "sub/sub/README.txt", "again")); cl_assert(GIT_ATTR_TRUE(value)); cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, - "sub/sub/README.txt", "beep", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, + "sub/sub/README.txt", "beep")); cl_assert_equal_s(value, "10"); /* index then wd */ cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, - "sub/sub/README.md", "bar", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, + "sub/sub/README.md", "bar")); cl_assert_equal_s(value, "1337"); cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, - "sub/sub/README.txt", "another", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, + "sub/sub/README.txt", "another")); cl_assert_equal_s(value, "one"); cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, - "sub/sub/README.txt", "again", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, + "sub/sub/README.txt", "again")); cl_assert(GIT_ATTR_TRUE(value)); cl_git_pass(git_attr_get( - repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, - "sub/sub/README.txt", "beep", &value)); + &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, + "sub/sub/README.txt", "beep")); cl_assert_equal_s(value, "5"); } diff --git a/tests-clar/attr/repo.c b/tests-clar/attr/repo.c index 006a49081..a88dfb3f9 100644 --- a/tests-clar/attr/repo.c +++ b/tests-clar/attr/repo.c @@ -64,7 +64,7 @@ void test_attr_repo__get_one(void) for (scan = test_cases; scan->path != NULL; scan++) { const char *value; - cl_git_pass(git_attr_get(g_repo, 0, scan->path, scan->attr, &value)); + cl_git_pass(git_attr_get(&value, g_repo, 0, scan->path, scan->attr)); attr_check_expected(scan->expected, scan->expected_str, value); } @@ -78,21 +78,21 @@ void test_attr_repo__get_many(void) const char *names[4] = { "repoattr", "rootattr", "missingattr", "subattr" }; const char *values[4]; - cl_git_pass(git_attr_get_many(g_repo, 0, "root_test1", 4, names, values)); + cl_git_pass(git_attr_get_many(values, g_repo, 0, "root_test1", 4, names)); cl_assert(GIT_ATTR_TRUE(values[0])); cl_assert(GIT_ATTR_TRUE(values[1])); cl_assert(GIT_ATTR_UNSPECIFIED(values[2])); cl_assert(GIT_ATTR_UNSPECIFIED(values[3])); - cl_git_pass(git_attr_get_many(g_repo, 0, "root_test2", 4, names, values)); + cl_git_pass(git_attr_get_many(values, g_repo, 0, "root_test2", 4, names)); cl_assert(GIT_ATTR_TRUE(values[0])); cl_assert(GIT_ATTR_FALSE(values[1])); cl_assert(GIT_ATTR_UNSPECIFIED(values[2])); cl_assert(GIT_ATTR_UNSPECIFIED(values[3])); - cl_git_pass(git_attr_get_many(g_repo, 0, "sub/subdir_test1", 4, names, values)); + cl_git_pass(git_attr_get_many(values, g_repo, 0, "sub/subdir_test1", 4, names)); cl_assert(GIT_ATTR_TRUE(values[0])); cl_assert(GIT_ATTR_TRUE(values[1])); @@ -137,19 +137,19 @@ void test_attr_repo__manpage_example(void) { const char *value; - cl_git_pass(git_attr_get(g_repo, 0, "sub/abc", "foo", &value)); + cl_git_pass(git_attr_get(&value, g_repo, 0, "sub/abc", "foo")); cl_assert(GIT_ATTR_TRUE(value)); - cl_git_pass(git_attr_get(g_repo, 0, "sub/abc", "bar", &value)); + cl_git_pass(git_attr_get(&value, g_repo, 0, "sub/abc", "bar")); cl_assert(GIT_ATTR_UNSPECIFIED(value)); - cl_git_pass(git_attr_get(g_repo, 0, "sub/abc", "baz", &value)); + cl_git_pass(git_attr_get(&value, g_repo, 0, "sub/abc", "baz")); cl_assert(GIT_ATTR_FALSE(value)); - cl_git_pass(git_attr_get(g_repo, 0, "sub/abc", "merge", &value)); + cl_git_pass(git_attr_get(&value, g_repo, 0, "sub/abc", "merge")); cl_assert_equal_s("filfre", value); - cl_git_pass(git_attr_get(g_repo, 0, "sub/abc", "frotz", &value)); + cl_git_pass(git_attr_get(&value, g_repo, 0, "sub/abc", "frotz")); cl_assert(GIT_ATTR_UNSPECIFIED(value)); } @@ -160,7 +160,7 @@ void test_attr_repo__macros(void) const char *names3[3] = { "macro2", "multi2", "multi3" }; const char *values[5]; - cl_git_pass(git_attr_get_many(g_repo, 0, "binfile", 5, names, values)); + cl_git_pass(git_attr_get_many(values, g_repo, 0, "binfile", 5, names)); cl_assert(GIT_ATTR_TRUE(values[0])); cl_assert(GIT_ATTR_TRUE(values[1])); @@ -168,7 +168,7 @@ void test_attr_repo__macros(void) cl_assert(GIT_ATTR_FALSE(values[3])); cl_assert(GIT_ATTR_UNSPECIFIED(values[4])); - cl_git_pass(git_attr_get_many(g_repo, 0, "macro_test", 5, names2, values)); + cl_git_pass(git_attr_get_many(values, g_repo, 0, "macro_test", 5, names2)); cl_assert(GIT_ATTR_TRUE(values[0])); cl_assert(GIT_ATTR_TRUE(values[1])); @@ -176,7 +176,7 @@ void test_attr_repo__macros(void) cl_assert(GIT_ATTR_UNSPECIFIED(values[3])); cl_assert_equal_s("77", values[4]); - cl_git_pass(git_attr_get_many(g_repo, 0, "macro_test", 3, names3, values)); + cl_git_pass(git_attr_get_many(values, g_repo, 0, "macro_test", 3, names3)); cl_assert(GIT_ATTR_TRUE(values[0])); cl_assert(GIT_ATTR_FALSE(values[1])); @@ -189,7 +189,7 @@ void test_attr_repo__bad_macros(void) "firstmacro", "secondmacro", "thirdmacro" }; const char *values[6]; - cl_git_pass(git_attr_get_many(g_repo, 0, "macro_bad", 6, names, values)); + cl_git_pass(git_attr_get_many(values, g_repo, 0, "macro_bad", 6, names)); /* these three just confirm that the "mymacro" rule ran */ cl_assert(GIT_ATTR_UNSPECIFIED(values[0])); diff --git a/tests-clar/commit/signature.c b/tests-clar/commit/signature.c index 605b8330a..290b11fa3 100644 --- a/tests-clar/commit/signature.c +++ b/tests-clar/commit/signature.c @@ -3,9 +3,9 @@ static int try_build_signature(const char *name, const char *email, git_time_t time, int offset) { git_signature *sign; - int error = GIT_SUCCESS; + int error = 0; - if ((error = git_signature_new(&sign, name, email, time, offset)) < GIT_SUCCESS) + if ((error = git_signature_new(&sign, name, email, time, offset)) < 0) return error; git_signature_free((git_signature *)sign); diff --git a/tests-clar/config/add.c b/tests-clar/config/add.c index b58029951..9854fbb39 100644 --- a/tests-clar/config/add.c +++ b/tests-clar/config/add.c @@ -17,7 +17,7 @@ void test_config_add__to_existing_section(void) cl_git_pass(git_config_open_ondisk(&cfg, "config10")); cl_git_pass(git_config_set_int32(cfg, "empty.tmp", 5)); - cl_git_pass(git_config_get_int32(cfg, "empty.tmp", &i)); + cl_git_pass(git_config_get_int32(&i, cfg, "empty.tmp")); cl_assert(i == 5); cl_git_pass(git_config_delete(cfg, "empty.tmp")); git_config_free(cfg); @@ -30,7 +30,7 @@ void test_config_add__to_new_section(void) cl_git_pass(git_config_open_ondisk(&cfg, "config10")); cl_git_pass(git_config_set_int32(cfg, "section.tmp", 5)); - cl_git_pass(git_config_get_int32(cfg, "section.tmp", &i)); + cl_git_pass(git_config_get_int32(&i, cfg, "section.tmp")); cl_assert(i == 5); cl_git_pass(git_config_delete(cfg, "section.tmp")); git_config_free(cfg); diff --git a/tests-clar/config/multivar.c b/tests-clar/config/multivar.c index d3784c0dd..3b40cd09a 100644 --- a/tests-clar/config/multivar.c +++ b/tests-clar/config/multivar.c @@ -21,7 +21,7 @@ static int mv_read_cb(const char *name, const char *value, void *data) if (!strcmp(name, _name)) (*n)++; - return GIT_SUCCESS; + return 0; } void test_config_multivar__foreach(void) @@ -45,7 +45,7 @@ static int cb(const char *val, void *data) (*n)++; - return GIT_SUCCESS; + return 0; } void test_config_multivar__get(void) diff --git a/tests-clar/config/new.c b/tests-clar/config/new.c index 78e8ec828..fae3ce941 100644 --- a/tests-clar/config/new.c +++ b/tests-clar/config/new.c @@ -25,9 +25,9 @@ void test_config_new__write_new_config(void) cl_git_pass(git_config_new(&config)); cl_git_pass(git_config_add_file(config, file, 0)); - cl_git_pass(git_config_get_string(config, "color.ui", &out)); + cl_git_pass(git_config_get_string(&out, config, "color.ui")); cl_assert_equal_s(out, "auto"); - cl_git_pass(git_config_get_string(config, "core.editor", &out)); + cl_git_pass(git_config_get_string(&out, config, "core.editor")); cl_assert_equal_s(out, "ed"); git_config_free(config); diff --git a/tests-clar/config/read.c b/tests-clar/config/read.c index 3e9a8d4bf..f33bdd89e 100644 --- a/tests-clar/config/read.c +++ b/tests-clar/config/read.c @@ -7,13 +7,13 @@ void test_config_read__simple_read(void) cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config0"))); - cl_git_pass(git_config_get_int32(cfg, "core.repositoryformatversion", &i)); + cl_git_pass(git_config_get_int32(&i, cfg, "core.repositoryformatversion")); cl_assert(i == 0); - cl_git_pass(git_config_get_bool(cfg, "core.filemode", &i)); + cl_git_pass(git_config_get_bool(&i, cfg, "core.filemode")); cl_assert(i == 1); - cl_git_pass(git_config_get_bool(cfg, "core.bare", &i)); + cl_git_pass(git_config_get_bool(&i, cfg, "core.bare")); cl_assert(i == 0); - cl_git_pass(git_config_get_bool(cfg, "core.logallrefupdates", &i)); + cl_git_pass(git_config_get_bool(&i, cfg, "core.logallrefupdates")); cl_assert(i == 1); git_config_free(cfg); @@ -27,18 +27,18 @@ void test_config_read__case_sensitive(void) cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config1"))); - cl_git_pass(git_config_get_string(cfg, "this.that.other", &str)); + cl_git_pass(git_config_get_string(&str, cfg, "this.that.other")); cl_assert_equal_s(str, "true"); - cl_git_pass(git_config_get_string(cfg, "this.That.other", &str)); + cl_git_pass(git_config_get_string(&str, cfg, "this.That.other")); cl_assert_equal_s(str, "yes"); - cl_git_pass(git_config_get_bool(cfg, "this.that.other", &i)); + cl_git_pass(git_config_get_bool(&i, cfg, "this.that.other")); cl_assert(i == 1); - cl_git_pass(git_config_get_bool(cfg, "this.That.other", &i)); + cl_git_pass(git_config_get_bool(&i, cfg, "this.That.other")); cl_assert(i == 1); /* This one doesn't exist */ - cl_must_fail(git_config_get_bool(cfg, "this.thaT.other", &i)); + cl_must_fail(git_config_get_bool(&i, cfg, "this.thaT.other")); git_config_free(cfg); } @@ -54,7 +54,7 @@ void test_config_read__multiline_value(void) cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config2"))); - cl_git_pass(git_config_get_string(cfg, "this.That.and", &str)); + cl_git_pass(git_config_get_string(&str, cfg, "this.That.and")); cl_assert_equal_s(str, "one one one two two three three"); git_config_free(cfg); @@ -70,11 +70,11 @@ void test_config_read__subsection_header(void) cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config3"))); - cl_git_pass(git_config_get_string(cfg, "section.subsection.var", &str)); + cl_git_pass(git_config_get_string(&str, cfg, "section.subsection.var")); cl_assert_equal_s(str, "hello"); /* The subsection is transformed to lower-case */ - cl_must_fail(git_config_get_string(cfg, "section.subSectIon.var", &str)); + cl_must_fail(git_config_get_string(&str, cfg, "section.subSectIon.var")); git_config_free(cfg); } @@ -87,10 +87,10 @@ void test_config_read__lone_variable(void) cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config4"))); - cl_git_pass(git_config_get_string(cfg, "some.section.variable", &str)); + cl_git_pass(git_config_get_string(&str, cfg, "some.section.variable")); cl_assert(str == NULL); - cl_git_pass(git_config_get_bool(cfg, "some.section.variable", &i)); + cl_git_pass(git_config_get_bool(&i, cfg, "some.section.variable")); cl_assert(i == 1); git_config_free(cfg); @@ -103,25 +103,25 @@ void test_config_read__number_suffixes(void) cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config5"))); - cl_git_pass(git_config_get_int64(cfg, "number.simple", &i)); + cl_git_pass(git_config_get_int64(&i, cfg, "number.simple")); cl_assert(i == 1); - cl_git_pass(git_config_get_int64(cfg, "number.k", &i)); + cl_git_pass(git_config_get_int64(&i, cfg, "number.k")); cl_assert(i == 1 * 1024); - cl_git_pass(git_config_get_int64(cfg, "number.kk", &i)); + cl_git_pass(git_config_get_int64(&i, cfg, "number.kk")); cl_assert(i == 1 * 1024); - cl_git_pass(git_config_get_int64(cfg, "number.m", &i)); + cl_git_pass(git_config_get_int64(&i, cfg, "number.m")); cl_assert(i == 1 * 1024 * 1024); - cl_git_pass(git_config_get_int64(cfg, "number.mm", &i)); + cl_git_pass(git_config_get_int64(&i, cfg, "number.mm")); cl_assert(i == 1 * 1024 * 1024); - cl_git_pass(git_config_get_int64(cfg, "number.g", &i)); + cl_git_pass(git_config_get_int64(&i, cfg, "number.g")); cl_assert(i == 1 * 1024 * 1024 * 1024); - cl_git_pass(git_config_get_int64(cfg, "number.gg", &i)); + cl_git_pass(git_config_get_int64(&i, cfg, "number.gg")); cl_assert(i == 1 * 1024 * 1024 * 1024); git_config_free(cfg); @@ -134,10 +134,10 @@ void test_config_read__blank_lines(void) cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config6"))); - cl_git_pass(git_config_get_bool(cfg, "valid.subsection.something", &i)); + cl_git_pass(git_config_get_bool(&i, cfg, "valid.subsection.something")); cl_assert(i == 1); - cl_git_pass(git_config_get_bool(cfg, "something.else.something", &i)); + cl_git_pass(git_config_get_bool(&i, cfg, "something.else.something")); cl_assert(i == 0); git_config_free(cfg); @@ -170,10 +170,10 @@ void test_config_read__prefixes(void) const char *str; cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config9"))); - cl_git_pass(git_config_get_string(cfg, "remote.ab.url", &str)); + cl_git_pass(git_config_get_string(&str, cfg, "remote.ab.url")); cl_assert_equal_s(str, "http://example.com/git/ab"); - cl_git_pass(git_config_get_string(cfg, "remote.abba.url", &str)); + cl_git_pass(git_config_get_string(&str, cfg, "remote.abba.url")); cl_assert_equal_s(str, "http://example.com/git/abba"); git_config_free(cfg); @@ -185,7 +185,7 @@ void test_config_read__escaping_quotes(void) const char *str; cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config13"))); - cl_git_pass(git_config_get_string(cfg, "core.editor", &str)); + cl_git_pass(git_config_get_string(&str, cfg, "core.editor")); cl_assert(strcmp(str, "\"C:/Program Files/Nonsense/bah.exe\" \"--some option\"") == 0); git_config_free(cfg); diff --git a/tests-clar/config/stress.c b/tests-clar/config/stress.c index 54a61ad67..3de1f7692 100644 --- a/tests-clar/config/stress.c +++ b/tests-clar/config/stress.c @@ -32,8 +32,8 @@ void test_config_stress__dont_break_on_invalid_input(void) cl_git_pass(git_config_new(&config)); cl_git_pass(git_config_add_file(config, file, 0)); - cl_git_pass(git_config_get_string(config, "color.ui", &color)); - cl_git_pass(git_config_get_string(config, "core.editor", &editor)); + cl_git_pass(git_config_get_string(&color, config, "color.ui")); + cl_git_pass(git_config_get_string(&editor, config, "core.editor")); git_config_free(config); } @@ -48,13 +48,13 @@ void test_config_stress__comments(void) cl_git_pass(git_config_new(&config)); cl_git_pass(git_config_add_file(config, file, 0)); - cl_git_pass(git_config_get_string(config, "some.section.other", &str)); + cl_git_pass(git_config_get_string(&str, config, "some.section.other")); cl_assert(!strcmp(str, "hello! \" ; ; ; ")); - cl_git_pass(git_config_get_string(config, "some.section.multi", &str)); + cl_git_pass(git_config_get_string(&str, config, "some.section.multi")); cl_assert(!strcmp(str, "hi, this is a ; multiline comment # with ;\n special chars and other stuff !@#")); - cl_git_pass(git_config_get_string(config, "some.section.back", &str)); + cl_git_pass(git_config_get_string(&str, config, "some.section.back")); cl_assert(!strcmp(str, "this is \ba phrase")); git_config_free(config); diff --git a/tests-clar/config/write.c b/tests-clar/config/write.c index f25bf5a91..f8774473e 100644 --- a/tests-clar/config/write.c +++ b/tests-clar/config/write.c @@ -22,7 +22,7 @@ void test_config_write__replace_value(void) git_config_free(cfg); cl_git_pass(git_config_open_ondisk(&cfg, "config9")); - cl_git_pass(git_config_get_int32(cfg, "core.dummy", &i)); + cl_git_pass(git_config_get_int32(&i, cfg, "core.dummy")); cl_assert(i == 5); git_config_free(cfg); @@ -35,12 +35,12 @@ void test_config_write__replace_value(void) git_config_free(cfg); cl_git_pass(git_config_open_ondisk(&cfg, "config9")); - cl_git_pass(git_config_get_int64(cfg, "core.verylong", &l)); + cl_git_pass(git_config_get_int64(&l, cfg, "core.verylong")); cl_assert(l == expected); git_config_free(cfg); cl_git_pass(git_config_open_ondisk(&cfg, "config9")); - cl_must_fail(git_config_get_int32(cfg, "core.verylong", &i)); + cl_must_fail(git_config_get_int32(&i, cfg, "core.verylong")); git_config_free(cfg); cl_git_pass(git_config_open_ondisk(&cfg, "config9")); @@ -62,7 +62,7 @@ void test_config_write__delete_value(void) git_config_free(cfg); cl_git_pass(git_config_open_ondisk(&cfg, "config9")); - cl_assert(git_config_get_int32(cfg, "core.dummy", &i) == GIT_ENOTFOUND); + cl_assert(git_config_get_int32(&i, cfg, "core.dummy") == GIT_ENOTFOUND); cl_git_pass(git_config_set_int32(cfg, "core.dummy", 1)); git_config_free(cfg); } @@ -77,7 +77,7 @@ void test_config_write__write_subsection(void) git_config_free(cfg); cl_git_pass(git_config_open_ondisk(&cfg, "config9")); - cl_git_pass(git_config_get_string(cfg, "my.own.var", &str)); + cl_git_pass(git_config_get_string(&str, cfg, "my.own.var")); cl_git_pass(strcmp(str, "works")); git_config_free(cfg); } diff --git a/tests-clar/index/tests.c b/tests-clar/index/tests.c index 3d01b7cfb..3436f8d1e 100644 --- a/tests-clar/index/tests.c +++ b/tests-clar/index/tests.c @@ -50,10 +50,10 @@ static void files_are_equal(const char *a, const char *b) git_buf buf_b = GIT_BUF_INIT; int pass; - if (git_futils_readbuffer(&buf_a, a) < GIT_SUCCESS) + if (git_futils_readbuffer(&buf_a, a) < 0) cl_assert(0); - if (git_futils_readbuffer(&buf_b, b) < GIT_SUCCESS) { + if (git_futils_readbuffer(&buf_b, b) < 0) { git_buf_free(&buf_a); cl_assert(0); } diff --git a/tests-clar/network/remotelocal.c b/tests-clar/network/remotelocal.c index 35fa072ef..98abbbeb9 100644 --- a/tests-clar/network/remotelocal.c +++ b/tests-clar/network/remotelocal.c @@ -68,7 +68,7 @@ static int count_ref__cb(git_remote_head *head, void *payload) (void)head; (*count)++; - return GIT_SUCCESS; + return 0; } static int ensure_peeled__cb(git_remote_head *head, void *payload) diff --git a/tests-clar/object/tag/read.c b/tests-clar/object/tag/read.c index cfeb3aeee..6a0ad8a23 100644 --- a/tests-clar/object/tag/read.c +++ b/tests-clar/object/tag/read.c @@ -17,9 +17,9 @@ static void ensure_tag_pattern_match(git_repository *repo, const size_t expected_matches) { git_strarray tag_list; - int error = GIT_SUCCESS; + int error = 0; - if ((error = git_tag_list_match(&tag_list, pattern, repo)) < GIT_SUCCESS) + if ((error = git_tag_list_match(&tag_list, pattern, repo)) < 0) goto exit; if (tag_list.count != expected_matches) diff --git a/tests-clar/object/tree/frompath.c b/tests-clar/object/tree/frompath.c index ea0add37b..06c69ac08 100644 --- a/tests-clar/object/tree/frompath.c +++ b/tests-clar/object/tree/frompath.c @@ -30,10 +30,10 @@ static void assert_tree_from_path(git_tree *root, const char *path, int expected cl_assert(git_tree_get_subtree(&containing_tree, root, path) == expected_result); - if (containing_tree == NULL && expected_result != GIT_SUCCESS) + if (containing_tree == NULL && expected_result != 0) return; - cl_assert(containing_tree != NULL && expected_result == GIT_SUCCESS); + cl_assert(containing_tree != NULL && expected_result == 0); cl_git_pass(git_oid_streq(git_object_id((const git_object *)containing_tree), expected_raw_oid)); @@ -49,19 +49,19 @@ static void assert_tree_from_path_klass(git_tree *root, const char *path, int ex void test_object_tree_frompath__retrieve_tree_from_path_to_treeentry(void) { /* Will return self if given a one path segment... */ - assert_tree_from_path(tree, "README", GIT_SUCCESS, tree_with_subtrees_oid); + assert_tree_from_path(tree, "README", 0, tree_with_subtrees_oid); /* ...even one that lead to a non existent tree entry. */ - assert_tree_from_path(tree, "i-do-not-exist.txt", GIT_SUCCESS, tree_with_subtrees_oid); + assert_tree_from_path(tree, "i-do-not-exist.txt", 0, tree_with_subtrees_oid); /* Will return fgh tree oid given this following path... */ - assert_tree_from_path(tree, "ab/de/fgh/1.txt", GIT_SUCCESS, "3259a6bd5b57fb9c1281bb7ed3167b50f224cb54"); + assert_tree_from_path(tree, "ab/de/fgh/1.txt", 0, "3259a6bd5b57fb9c1281bb7ed3167b50f224cb54"); /* ... and ab tree oid given this one. */ - assert_tree_from_path(tree, "ab/de", GIT_SUCCESS, "f1425cef211cc08caa31e7b545ffb232acb098c3"); + assert_tree_from_path(tree, "ab/de", 0, "f1425cef211cc08caa31e7b545ffb232acb098c3"); /* Will succeed if given a valid path which leads to a tree entry which doesn't exist */ - assert_tree_from_path(tree, "ab/de/fgh/i-do-not-exist.txt", GIT_SUCCESS, "3259a6bd5b57fb9c1281bb7ed3167b50f224cb54"); + assert_tree_from_path(tree, "ab/de/fgh/i-do-not-exist.txt", 0, "3259a6bd5b57fb9c1281bb7ed3167b50f224cb54"); } void test_object_tree_frompath__fail_when_processing_an_unknown_tree_segment(void) diff --git a/tests-clar/refs/branches/delete.c b/tests-clar/refs/branches/delete.c index 8ccfaf32f..03d3c56d7 100644 --- a/tests-clar/refs/branches/delete.c +++ b/tests-clar/refs/branches/delete.c @@ -75,7 +75,7 @@ void test_refs_branches_delete__can_delete_a_remote_branch(void) cl_git_pass(git_branch_delete(repo, "nulltoken/master", GIT_BRANCH_REMOTE)); } -static void assert_non_exisitng_branch_removal(const char *branch_name, git_branch_type branch_type) +static void assert_non_exisitng_branch_removal(const char *branch_name, git_branch_t branch_type) { int error; error = git_branch_delete(repo, branch_name, branch_type); diff --git a/tests-clar/refs/list.c b/tests-clar/refs/list.c index f673bd9be..2a7b157ca 100644 --- a/tests-clar/refs/list.c +++ b/tests-clar/refs/list.c @@ -25,7 +25,7 @@ void test_refs_list__all(void) // try to list all the references in our test repo git_strarray ref_list; - cl_git_pass(git_reference_listall(&ref_list, g_repo, GIT_REF_LISTALL)); + cl_git_pass(git_reference_list(&ref_list, g_repo, GIT_REF_LISTALL)); /*{ unsigned short i; @@ -46,7 +46,7 @@ void test_refs_list__symbolic_only(void) // try to list only the symbolic references git_strarray ref_list; - cl_git_pass(git_reference_listall(&ref_list, g_repo, GIT_REF_SYMBOLIC)); + cl_git_pass(git_reference_list(&ref_list, g_repo, GIT_REF_SYMBOLIC)); cl_assert(ref_list.count == 0); /* no symrefs in the test repo */ git_strarray_free(&ref_list); diff --git a/tests-clar/refs/listall.c b/tests-clar/refs/listall.c index ced40a26e..7f1de74cc 100644 --- a/tests-clar/refs/listall.c +++ b/tests-clar/refs/listall.c @@ -9,7 +9,7 @@ static void ensure_no_refname_starts_with_a_forward_slash(const char *path) size_t i; cl_git_pass(git_repository_open(&repo, path)); - cl_git_pass(git_reference_listall(&ref_list, repo, GIT_REF_LISTALL)); + cl_git_pass(git_reference_list(&ref_list, repo, GIT_REF_LISTALL)); cl_assert(ref_list.count > 0); diff --git a/tests-clar/repo/open.c b/tests-clar/repo/open.c index 292466390..c70ec83a9 100644 --- a/tests-clar/repo/open.c +++ b/tests-clar/repo/open.c @@ -279,4 +279,4 @@ void test_repo_open__opening_a_non_existing_repository_returns_ENOTFOUND(void) { git_repository *repo; cl_assert_equal_i(GIT_ENOTFOUND, git_repository_open(&repo, "i-do-not/exist")); -} \ No newline at end of file +} diff --git a/tests-clar/revwalk/basic.c b/tests-clar/revwalk/basic.c index 7d54ce990..a5a9b2eda 100644 --- a/tests-clar/revwalk/basic.c +++ b/tests-clar/revwalk/basic.c @@ -73,7 +73,7 @@ static int test_walk(git_revwalk *walk, const git_oid *root, i = 0; - while (git_revwalk_next(&oid, walk) == GIT_SUCCESS) { + while (git_revwalk_next(&oid, walk) == 0) { result_array[i++] = get_commit_index(&oid); /*{ char str[41]; @@ -86,7 +86,7 @@ static int test_walk(git_revwalk *walk, const git_oid *root, for (i = 0; i < results_count; ++i) if (memcmp(possible_results[i], result_array, result_bytes) == 0) - return GIT_SUCCESS; + return 0; return GIT_ERROR; } @@ -125,7 +125,7 @@ void test_revwalk_basic__glob_heads(void) cl_git_pass(git_revwalk_push_glob(_walk, "heads")); - while (git_revwalk_next(&oid, _walk) == GIT_SUCCESS) { + while (git_revwalk_next(&oid, _walk) == 0) { i++; } @@ -140,7 +140,7 @@ void test_revwalk_basic__push_head(void) cl_git_pass(git_revwalk_push_head(_walk)); - while (git_revwalk_next(&oid, _walk) == GIT_SUCCESS) { + while (git_revwalk_next(&oid, _walk) == 0) { i++; } @@ -156,7 +156,7 @@ void test_revwalk_basic__push_head_hide_ref(void) cl_git_pass(git_revwalk_push_head(_walk)); cl_git_pass(git_revwalk_hide_ref(_walk, "refs/heads/packed-test")); - while (git_revwalk_next(&oid, _walk) == GIT_SUCCESS) { + while (git_revwalk_next(&oid, _walk) == 0) { i++; } @@ -172,7 +172,7 @@ void test_revwalk_basic__push_head_hide_ref_nobase(void) cl_git_pass(git_revwalk_push_head(_walk)); cl_git_pass(git_revwalk_hide_ref(_walk, "refs/heads/packed")); - while (git_revwalk_next(&oid, _walk) == GIT_SUCCESS) { + while (git_revwalk_next(&oid, _walk) == 0) { i++; }