Commit 59d91979 by Vicent Martí

Merge pull request #710 from libgit2/breaking-changes

Break everything before the release
parents 498b72eb 904b67e6
...@@ -335,7 +335,7 @@ int main (int argc, char** argv) ...@@ -335,7 +335,7 @@ int main (int argc, char** argv)
// We can then lookup and parse the commited pointed at by the returned OID; // 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 // note that this operation is specially fast since the raw contents of the commit object will
// be cached in memory // 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); error = git_commit_lookup(&wcommit, repo, &oid);
cmsg = git_commit_message(wcommit); cmsg = git_commit_message(wcommit);
cauth = git_commit_author(wcommit); cauth = git_commit_author(wcommit);
......
...@@ -25,12 +25,12 @@ int run_command(git_cb fn, int argc, char **argv) ...@@ -25,12 +25,12 @@ int run_command(git_cb fn, int argc, char **argv)
// repository and pass it to the function. // repository and pass it to the function.
error = git_repository_open(&repo, ".git"); error = git_repository_open(&repo, ".git");
if (error < GIT_SUCCESS) if (error < 0)
repo = NULL; repo = NULL;
// Run the command. If something goes wrong, print the error message to stderr // Run the command. If something goes wrong, print the error message to stderr
error = fn(repo, argc, argv); error = fn(repo, argc, argv);
if (error < GIT_SUCCESS) { if (error < 0) {
if (giterr_last() == NULL) if (giterr_last() == NULL)
fprintf(stderr, "Error without message"); fprintf(stderr, "Error without message");
else else
......
...@@ -80,13 +80,13 @@ int index_pack_old(git_repository *repo, int argc, char **argv) ...@@ -80,13 +80,13 @@ int index_pack_old(git_repository *repo, int argc, char **argv)
// Create a new indexer // Create a new indexer
error = git_indexer_new(&indexer, argv[1]); error = git_indexer_new(&indexer, argv[1]);
if (error < GIT_SUCCESS) if (error < 0)
return error; return error;
// Index the packfile. This function can take a very long time and // Index the packfile. This function can take a very long time and
// should be run in a worker thread. // should be run in a worker thread.
error = git_indexer_run(indexer, &stats); error = git_indexer_run(indexer, &stats);
if (error < GIT_SUCCESS) if (error < 0)
return error; return error;
// Write the information out to an index file // Write the information out to an index file
...@@ -98,5 +98,5 @@ int index_pack_old(git_repository *repo, int argc, char **argv) ...@@ -98,5 +98,5 @@ int index_pack_old(git_repository *repo, int argc, char **argv)
git_indexer_free(indexer); git_indexer_free(indexer);
return GIT_SUCCESS; return 0;
} }
...@@ -9,7 +9,7 @@ static int show_ref__cb(git_remote_head *head, void *payload) ...@@ -9,7 +9,7 @@ static int show_ref__cb(git_remote_head *head, void *payload)
char oid[GIT_OID_HEXSZ + 1] = {0}; char oid[GIT_OID_HEXSZ + 1] = {0};
git_oid_fmt(oid, &head->oid); git_oid_fmt(oid, &head->oid);
printf("%s\t%s\n", oid, head->name); printf("%s\t%s\n", oid, head->name);
return GIT_SUCCESS; return 0;
} }
int use_unnamed(git_repository *repo, const char *url) int use_unnamed(git_repository *repo, const char *url)
...@@ -20,13 +20,13 @@ 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 // Create an instance of a remote from the URL. The transport to use
// is detected from the URL // is detected from the URL
error = git_remote_new(&remote, repo, NULL, url, NULL); error = git_remote_new(&remote, repo, NULL, url, NULL);
if (error < GIT_SUCCESS) if (error < 0)
goto cleanup; goto cleanup;
// When connecting, the underlying code needs to know wether we // When connecting, the underlying code needs to know wether we
// want to push or fetch // want to push or fetch
error = git_remote_connect(remote, GIT_DIR_FETCH); error = git_remote_connect(remote, GIT_DIR_FETCH);
if (error < GIT_SUCCESS) if (error < 0)
goto cleanup; goto cleanup;
// With git_remote_ls we can retrieve the advertised heads // With git_remote_ls we can retrieve the advertised heads
...@@ -44,11 +44,11 @@ int use_remote(git_repository *repo, char *name) ...@@ -44,11 +44,11 @@ int use_remote(git_repository *repo, char *name)
// Find the remote by name // Find the remote by name
error = git_remote_load(&remote, repo, name); error = git_remote_load(&remote, repo, name);
if (error < GIT_SUCCESS) if (error < 0)
goto cleanup; goto cleanup;
error = git_remote_connect(remote, GIT_DIR_FETCH); error = git_remote_connect(remote, GIT_DIR_FETCH);
if (error < GIT_SUCCESS) if (error < 0)
goto cleanup; goto cleanup;
error = git_remote_ls(remote, &show_ref__cb, NULL); error = git_remote_ls(remote, &show_ref__cb, NULL);
......
...@@ -65,7 +65,7 @@ GIT_BEGIN_DECL ...@@ -65,7 +65,7 @@ GIT_BEGIN_DECL
#define GIT_ATTR_UNSPECIFIED(attr) (!(attr) || (attr) == git_attr__unset) #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 * opposied to TRUE, FALSE or UNSPECIFIED). This would be the case if
* for a file with something like: * for a file with something like:
* *
...@@ -74,7 +74,7 @@ GIT_BEGIN_DECL ...@@ -74,7 +74,7 @@ GIT_BEGIN_DECL
* Given this, looking up "eol" for `onefile.txt` will give back the * Given this, looking up "eol" for `onefile.txt` will give back the
* string "lf" and `GIT_ATTR_SET_TO_VALUE(attr)` will return true. * 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) && (attr) != git_attr__unset && \
(attr) != git_attr__true && (attr) != git_attr__false) (attr) != git_attr__true && (attr) != git_attr__false)
...@@ -111,6 +111,10 @@ GIT_EXTERN(const char *) git_attr__unset; ...@@ -111,6 +111,10 @@ GIT_EXTERN(const char *) git_attr__unset;
/** /**
* Look up the value of one git attribute for path. * 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 repo The repository containing the path.
* @param flags A combination of GIT_ATTR_CHECK... flags. * @param flags A combination of GIT_ATTR_CHECK... flags.
* @param path The path to check for attributes. Relative paths are * @param path The path to check for attributes. Relative paths are
...@@ -118,17 +122,13 @@ GIT_EXTERN(const char *) git_attr__unset; ...@@ -118,17 +122,13 @@ GIT_EXTERN(const char *) git_attr__unset;
* not have to exist, but if it does not, then it will be * not have to exist, but if it does not, then it will be
* treated as a plain file (not a directory). * treated as a plain file (not a directory).
* @param name The name of the attribute to look up. * @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( GIT_EXTERN(int) git_attr_get(
const char **value_out,
git_repository *repo, git_repository *repo,
uint32_t flags, uint32_t flags,
const char *path, const char *path,
const char *name, const char *name);
const char **value);
/** /**
* Look up a list of git attributes for path. * Look up a list of git attributes for path.
...@@ -141,11 +141,16 @@ GIT_EXTERN(int) git_attr_get( ...@@ -141,11 +141,16 @@ GIT_EXTERN(int) git_attr_get(
* *
* const char *attrs[] = { "crlf", "diff", "foo" }; * const char *attrs[] = { "crlf", "diff", "foo" };
* const char **values[3]; * 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 * Then you could loop through the 3 values to get the settings for
* the three attributes you asked about. * 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 repo The repository containing the path.
* @param flags A combination of GIT_ATTR_CHECK... flags. * @param flags A combination of GIT_ATTR_CHECK... flags.
* @param path The path inside the repo to check attributes. This * @param path The path inside the repo to check attributes. This
...@@ -153,19 +158,14 @@ GIT_EXTERN(int) git_attr_get( ...@@ -153,19 +158,14 @@ GIT_EXTERN(int) git_attr_get(
* it will be treated as a plain file (i.e. not a directory). * it will be treated as a plain file (i.e. not a directory).
* @param num_attr The number of attributes being looked up * @param num_attr The number of attributes being looked up
* @param names An array of num_attr strings containing attribute names. * @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( GIT_EXTERN(int) git_attr_get_many(
const char **values_out,
git_repository *repo, git_repository *repo,
uint32_t flags, uint32_t flags,
const char *path, const char *path,
size_t num_attr, size_t num_attr,
const char **names, const char **names);
const char **values);
/** /**
* Loop over all the git attributes for a path. * Loop over all the git attributes for a path.
......
...@@ -27,7 +27,7 @@ GIT_BEGIN_DECL ...@@ -27,7 +27,7 @@ GIT_BEGIN_DECL
* @param blob pointer to the looked up blob * @param blob pointer to the looked up blob
* @param repo the repo to use when locating the blob. * @param repo the repo to use when locating the blob.
* @param id identity of the blob to locate. * @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) 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 ...@@ -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 repo the repo to use when locating the blob.
* @param id identity of the blob to locate. * @param id identity of the blob to locate.
* @param len the length of the short identifier * @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) 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); ...@@ -99,7 +99,7 @@ GIT_EXTERN(size_t) git_blob_rawsize(git_blob *blob);
* this repository cannot be bare * this repository cannot be bare
* @param path file from which the blob will be created, * @param path file from which the blob will be created,
* relative to the repository's working dir * 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); 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 ...@@ -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. * @param repo repository where the blob will be written.
* this repository can be bare or not * this repository can be bare or not
* @param path file from which the blob will be created * @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); 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 ...@@ -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 repo repository where to blob will be written
* @param buffer data to be written into the blob * @param buffer data to be written into the blob
* @param len length of the data * @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); GIT_EXTERN(int) git_blob_create_frombuffer(git_oid *oid, git_repository *repo, const void *buffer, size_t len);
......
...@@ -41,7 +41,7 @@ GIT_BEGIN_DECL ...@@ -41,7 +41,7 @@ GIT_BEGIN_DECL
* *
* @param force Overwrite existing branch. * @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 * A proper reference is written in the refs/heads namespace
* pointing to the provided target commit. * pointing to the provided target commit.
*/ */
...@@ -63,13 +63,13 @@ GIT_EXTERN(int) git_branch_create( ...@@ -63,13 +63,13 @@ GIT_EXTERN(int) git_branch_create(
* @param branch_type Type of the considered branch. This should * @param branch_type Type of the considered branch. This should
* be valued with either GIT_BRANCH_LOCAL or GIT_BRANCH_REMOTE. * 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. * doesn't exist or an error code.
*/ */
GIT_EXTERN(int) git_branch_delete( GIT_EXTERN(int) git_branch_delete(
git_repository *repo, git_repository *repo,
const char *branch_name, const char *branch_name,
git_branch_type branch_type); git_branch_t branch_type);
/** /**
* Fill a list with all the branches in the Repository * Fill a list with all the branches in the Repository
...@@ -88,7 +88,7 @@ GIT_EXTERN(int) git_branch_delete( ...@@ -88,7 +88,7 @@ GIT_EXTERN(int) git_branch_delete(
* listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE * listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE
* or a combination of the two. * 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_EXTERN(int) git_branch_list(
git_strarray *branch_names, git_strarray *branch_names,
...@@ -108,7 +108,7 @@ GIT_EXTERN(int) git_branch_list( ...@@ -108,7 +108,7 @@ GIT_EXTERN(int) git_branch_list(
* *
* @param force Overwrite existing branch. * @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. * doesn't exist or an error code.
*/ */
GIT_EXTERN(int) git_branch_move( GIT_EXTERN(int) git_branch_move(
......
...@@ -28,7 +28,7 @@ GIT_BEGIN_DECL ...@@ -28,7 +28,7 @@ GIT_BEGIN_DECL
* @param repo the repo to use when locating the commit. * @param repo the repo to use when locating the commit.
* @param id identity of the commit to locate. If the object is * @param id identity of the commit to locate. If the object is
* an annotated tag it will be peeled back to the commit. * 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) 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 ...@@ -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 * @param id identity of the commit to locate. If the object is
* an annotated tag it will be peeled back to the commit. * an annotated tag it will be peeled back to the commit.
* @param len the length of the short identifier * @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) 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); ...@@ -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 tree_out pointer where to store the tree object
* @param commit a previously loaded commit. * @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); 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); ...@@ -163,7 +163,7 @@ GIT_EXTERN(unsigned int) git_commit_parentcount(git_commit *commit);
* @param parent Pointer where to store the parent commit * @param parent Pointer where to store the parent commit
* @param commit a previously loaded commit. * @param commit a previously loaded commit.
* @param n the position of the parent (from 0 to `parentcount`) * @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); 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 ...@@ -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 * array may be NULL if `parent_count` is 0 (root commit). All the
* given commits must be owned by the `repo`. * 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 created commit will be written to the Object Database and
* the given reference will be updated to point to it * the given reference will be updated to point to it
*/ */
......
...@@ -62,10 +62,10 @@ typedef struct { ...@@ -62,10 +62,10 @@ typedef struct {
* global configuration file. * global configuration file.
* *
* @param global_config_path Buffer of GIT_PATH_MAX length to store the path * @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`. * 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 * Locate the path to the system configuration file
...@@ -74,10 +74,10 @@ GIT_EXTERN(int) git_config_find_global(char *global_config_path); ...@@ -74,10 +74,10 @@ GIT_EXTERN(int) git_config_find_global(char *global_config_path);
* %PROGRAMFILES%\Git\etc\gitconfig. * %PROGRAMFILES%\Git\etc\gitconfig.
* @param system_config_path Buffer of GIT_PATH_MAX length to store the path * @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`. * 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 * Open the global configuration file
...@@ -86,7 +86,7 @@ GIT_EXTERN(int) git_config_find_system(char *system_config_path); ...@@ -86,7 +86,7 @@ GIT_EXTERN(int) git_config_find_system(char *system_config_path);
* and opens the located file, if it exists. * and opens the located file, if it exists.
* *
* @param out Pointer to store the config instance * @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); 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 ...@@ -110,7 +110,7 @@ GIT_EXTERN(int) git_config_file__ondisk(struct git_config_file **out, const char
* can do anything with it. * can do anything with it.
* *
* @param out pointer to the new configuration * @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); GIT_EXTERN(int) git_config_new(git_config **out);
...@@ -127,7 +127,7 @@ 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 cfg the configuration to add the file to
* @param file the configuration file (backend) to add * @param file the configuration file (backend) to add
* @param priority the priority the backend should have * @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); 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 ...@@ -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 cfg the configuration to add the file to
* @param path path to the configuration file (backend) to add * @param path path to the configuration file (backend) to add
* @param priority the priority the backend should have * @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); 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 ...@@ -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 cfg The configuration instance to create
* @param path Path to the on-disk file to open * @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); 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); ...@@ -177,22 +177,22 @@ GIT_EXTERN(void) git_config_free(git_config *cfg);
/** /**
* Get the value of an integer config variable. * 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 cfg where to look for the variable
* @param name the variable's name * @param name the variable's name
* @param out pointer to the variable where the value should be stored * @return 0 or an error code
* @return GIT_SUCCESS 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. * 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 cfg where to look for the variable
* @param name the variable's name * @param name the variable's name
* @param out pointer to the variable where the value should be stored * @return 0 or an error code
* @return GIT_SUCCESS 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. * 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 ...@@ -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 * This function uses the usual C convention of 0 being false and
* anything else true. * anything else true.
* *
* @param out pointer to the variable where the value should be stored
* @param cfg where to look for the variable * @param cfg where to look for the variable
* @param name the variable's name * @param name the variable's name
* @param out pointer to the variable where the value should be stored * @return 0 or an error code
* @return GIT_SUCCESS 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. * 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) ...@@ -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 * The string is owned by the variable and should not be freed by the
* user. * user.
* *
* @param out pointer to the variable's value
* @param cfg where to look for the variable * @param cfg where to look for the variable
* @param name the variable's name * @param name the variable's name
* @param out pointer to the variable's value * @return 0 or an error code
* @return GIT_SUCCESS 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. * Get each value of a multivar.
...@@ -240,7 +240,7 @@ GIT_EXTERN(int) git_config_get_multivar(git_config *cfg, const char *name, const ...@@ -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 cfg where to look for the variable
* @param name the variable's name * @param name the variable's name
* @param value Integer value for the variable * @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); 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 ...@@ -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 cfg where to look for the variable
* @param name the variable's name * @param name the variable's name
* @param value Long integer value for the variable * @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); 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 ...@@ -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 cfg where to look for the variable
* @param name the variable's name * @param name the variable's name
* @param value the value to store * @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); 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 ...@@ -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 cfg where to look for the variable
* @param name the variable's name * @param name the variable's name
* @param value the string to store. * @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); 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); ...@@ -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 cfg where to get the variables from
* @param callback the function to call on each variable * @param callback the function to call on each variable
* @param payload the data to pass to the callback * @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_EXTERN(int) git_config_foreach(
git_config *cfg, git_config *cfg,
...@@ -342,14 +342,14 @@ GIT_EXTERN(int) git_config_foreach( ...@@ -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 * If not a single match can be made to store in `out`, an error code will be
* returned. * returned.
* *
* @param out place to store the result of the mapping
* @param cfg config file to get the variables from * @param cfg config file to get the variables from
* @param name name of the config variable to lookup * @param name name of the config variable to lookup
* @param maps array of `git_cvar_map` objects specifying the possible mappings * @param maps array of `git_cvar_map` objects specifying the possible mappings
* @param map_n number of mapping objects in `maps` * @param map_n number of mapping objects in `maps`
* @param out place to store the result of the mapping * @return 0 on success, error code otherwise
* @return GIT_SUCCESS 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 GIT_END_DECL
......
...@@ -17,30 +17,55 @@ ...@@ -17,30 +17,55 @@
*/ */
GIT_BEGIN_DECL GIT_BEGIN_DECL
typedef enum { #ifdef GIT_OLD_ERRORS
enum {
GIT_SUCCESS = 0, GIT_SUCCESS = 0,
GIT_ERROR = -1, GIT_ENOTOID = -2,
/** Input does not exist in the scope searched. */
GIT_ENOTFOUND = -3, GIT_ENOTFOUND = -3,
GIT_ENOMEM = -4,
/** A reference with this name already exists */ 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, GIT_EEXISTS = -23,
/** The given integer literal is too large to be parsed */
GIT_EOVERFLOW = -24, GIT_EOVERFLOW = -24,
GIT_ENOTNUM = -25,
/** The given short oid is ambiguous */ GIT_ESTREAM = -26,
GIT_EINVALIDARGS = -27,
GIT_EOBJCORRUPTED = -28,
GIT_EAMBIGUOUS = -29, GIT_EAMBIGUOUS = -29,
/** Skip and passthrough the given ODB backend */
GIT_EPASSTHROUGH = -30, GIT_EPASSTHROUGH = -30,
GIT_ENOMATCH = -31,
/** The buffer is too short to satisfy the request */
GIT_ESHORTBUFFER = -32, GIT_ESHORTBUFFER = -32,
};
#endif
GIT_EREVWALKOVER = -33, /** Generic return codes */
} git_error_t; 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 { typedef struct {
char *message; char *message;
...@@ -63,7 +88,7 @@ typedef enum { ...@@ -63,7 +88,7 @@ typedef enum {
GITERR_TAG, GITERR_TAG,
GITERR_TREE, GITERR_TREE,
GITERR_INDEXER, GITERR_INDEXER,
} git_error_class; } git_error_t;
/** /**
* Return the last `git_error` object that was generated for the * Return the last `git_error` object that was generated for the
......
...@@ -106,7 +106,7 @@ typedef struct git_index_entry_unmerged { ...@@ -106,7 +106,7 @@ typedef struct git_index_entry_unmerged {
* *
* @param index the pointer for the new index * @param index the pointer for the new index
* @param index_path the path to the index file in disk * @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); 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); ...@@ -131,7 +131,7 @@ GIT_EXTERN(void) git_index_free(git_index *index);
* by reading from the hard disk. * by reading from the hard disk.
* *
* @param index an existing index object * @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); GIT_EXTERN(int) git_index_read(git_index *index);
...@@ -140,7 +140,7 @@ 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. * using an atomic file lock.
* *
* @param index an existing index object * @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); GIT_EXTERN(int) git_index_write(git_index *index);
...@@ -176,7 +176,7 @@ GIT_EXTERN(void) git_index_uniq(git_index *index); ...@@ -176,7 +176,7 @@ GIT_EXTERN(void) git_index_uniq(git_index *index);
* @param index an existing index object * @param index an existing index object
* @param path filename to add * @param path filename to add
* @param stage stage for the entry * @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); 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); ...@@ -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 index an existing index object
* @param source_entry new entry 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); 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 ...@@ -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 index an existing index object
* @param path filename to add * @param path filename to add
* @param stage stage for the entry * @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); 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); ...@@ -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 index an existing index object
* @param source_entry new entry 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); 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 ...@@ -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 index an existing index object
* @param position position of the entry to remove * @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); 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); ...@@ -312,7 +312,7 @@ GIT_EXTERN(int) git_index_entry_stage(const git_index_entry *entry);
* *
* @param index an existing index object * @param index an existing index object
* @param tree tree to read * @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); GIT_EXTERN(int) git_index_read_tree(git_index *index, git_tree *tree);
......
...@@ -28,7 +28,7 @@ GIT_BEGIN_DECL ...@@ -28,7 +28,7 @@ GIT_BEGIN_DECL
* @param notes_ref OID reference to use (optional); defaults to "refs/notes/commits" * @param notes_ref OID reference to use (optional); defaults to "refs/notes/commits"
* @param oid OID of the object * @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, GIT_EXTERN(int) git_note_read(git_note **note, git_repository *repo,
const char *notes_ref, const git_oid *oid); const char *notes_ref, const git_oid *oid);
...@@ -62,7 +62,7 @@ GIT_EXTERN(const git_oid *) git_note_oid(git_note *note); ...@@ -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 OID of the object
* @param oid The note to add for object oid * @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_EXTERN(int) git_note_create(git_oid *out, git_repository *repo,
git_signature *author, git_signature *committer, git_signature *author, git_signature *committer,
...@@ -79,7 +79,7 @@ GIT_EXTERN(int) git_note_create(git_oid *out, git_repository *repo, ...@@ -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 committer signature of the notes commit committer
* @param oid the oid which note's to be removed * @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_EXTERN(int) git_note_remove(git_repository *repo, const char *notes_ref,
git_signature *author, git_signature *committer, git_signature *author, git_signature *committer,
...@@ -98,7 +98,7 @@ GIT_EXTERN(void) git_note_free(git_note *note); ...@@ -98,7 +98,7 @@ GIT_EXTERN(void) git_note_free(git_note *note);
* @param out Pointer to the default notes reference * @param out Pointer to the default notes reference
* @param repo The Git repository * @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); GIT_EXTERN(int) git_note_default_ref(const char **out, git_repository *repo);
...@@ -125,7 +125,7 @@ typedef struct { ...@@ -125,7 +125,7 @@ typedef struct {
* *
* @param payload Extra parameter to callback function. * @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_EXTERN(int) git_note_foreach(
git_repository *repo, git_repository *repo,
......
...@@ -69,7 +69,7 @@ GIT_EXTERN(int) git_object_lookup( ...@@ -69,7 +69,7 @@ GIT_EXTERN(int) git_object_lookup(
* @param id a short identifier for the object * @param id a short identifier for the object
* @param len the length of the short identifier * @param len the length of the short identifier
* @param type the type of the object * @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_EXTERN(int) git_object_lookup_prefix(
git_object **object_out, git_object **object_out,
......
...@@ -29,7 +29,7 @@ GIT_BEGIN_DECL ...@@ -29,7 +29,7 @@ GIT_BEGIN_DECL
* *
* @param out location to store the database pointer, if opened. * @param out location to store the database pointer, if opened.
* Set to NULL if the open failed. * 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); GIT_EXTERN(int) git_odb_new(git_odb **out);
...@@ -47,7 +47,7 @@ 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. * @param out location to store the database pointer, if opened.
* Set to NULL if the open failed. * Set to NULL if the open failed.
* @param objects_dir path of the backends' "objects" directory. * @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); 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); ...@@ -108,7 +108,7 @@ GIT_EXTERN(void) git_odb_free(git_odb *db);
* @param db database to search for the object in. * @param db database to search for the object in.
* @param id identity of the object to read. * @param id identity of the object to read.
* @return * @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_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); 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 ...@@ -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 db database to search for the object in.
* @param short_id a prefix of the id of the object to read. * @param short_id a prefix of the id of the object to read.
* @param len the length of the prefix * @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_ENOTFOUND if the object is not in the database.
* GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix) * 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 ...@@ -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 db database to search for the object in.
* @param id identity of the object to read. * @param id identity of the object to read.
* @return * @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_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); 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); ...@@ -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 data buffer with the data to storr
* @param len size of the buffer * @param len size of the buffer
* @param type type of the data to store * @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); 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 ...@@ -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 data data to hash
* @param len size of the data * @param len size of the data
* @param type of the data to hash * @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); 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 ...@@ -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 out oid structure the result is written into.
* @param path file to read and determine object id for * @param path file to read and determine object id for
* @param type the type of the object that will be hashed * @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); GIT_EXTERN(int) git_odb_hashfile(git_oid *out, const char *path, git_otype type);
......
...@@ -74,6 +74,13 @@ struct git_odb_backend { ...@@ -74,6 +74,13 @@ struct git_odb_backend {
void (* free)(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 */ /** A stream to read/write from a backend */
struct git_odb_stream { struct git_odb_stream {
struct git_odb_backend *backend; struct git_odb_backend *backend;
...@@ -85,13 +92,6 @@ struct git_odb_stream { ...@@ -85,13 +92,6 @@ struct git_odb_stream {
void (*free)(struct git_odb_stream *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_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); GIT_EXTERN(int) git_odb_backend_loose(git_odb_backend **backend_out, const char *objects_dir, int compression_level, int do_fsync);
......
...@@ -43,7 +43,7 @@ struct _git_oid { ...@@ -43,7 +43,7 @@ struct _git_oid {
* @param str input hex string; must be pointing at the start of * @param str input hex string; must be pointing at the start of
* the hex sequence and have at least the number of bytes * the hex sequence and have at least the number of bytes
* needed for an oid encoded in hex (40 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); 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); ...@@ -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 out oid structure the result is written into.
* @param str input hex string of at least size `length` * @param str input hex string of at least size `length`
* @param length length of the input string * @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); 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 ...@@ -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 a oid structure.
* @param str input hex string of an object id. * @param str input hex string of an object id.
* @return GIT_ENOTOID if str is not a valid hex string, * @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); GIT_EXTERN(int) git_oid_streq(const git_oid *a, const char *str);
......
...@@ -28,7 +28,7 @@ GIT_BEGIN_DECL ...@@ -28,7 +28,7 @@ GIT_BEGIN_DECL
* *
* @param reflog pointer to reflog * @param reflog pointer to reflog
* @param ref reference to read the reflog for * @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); 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); ...@@ -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 oid_old the OID the reference was pointing to
* @param committer the signature of the committer * @param committer the signature of the committer
* @param msg the reflog message * @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); 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 ...@@ -55,7 +55,7 @@ GIT_EXTERN(int) git_reflog_write(git_reference *ref, const git_oid *oid_old, con
* *
* @param ref the reference * @param ref the reference
* @param new_name the new name of 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); 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); ...@@ -63,7 +63,7 @@ GIT_EXTERN(int) git_reflog_rename(git_reference *ref, const char *new_name);
* Delete the reflog for the given reference * Delete the reflog for the given reference
* *
* @param ref the 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); GIT_EXTERN(int) git_reflog_delete(git_reference *ref);
......
...@@ -28,7 +28,7 @@ GIT_BEGIN_DECL ...@@ -28,7 +28,7 @@ GIT_BEGIN_DECL
* @param reference_out pointer to the looked-up reference * @param reference_out pointer to the looked-up reference
* @param repo the repository to look up the 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, ...) * @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); 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( ...@@ -59,7 +59,7 @@ GIT_EXTERN(int) git_reference_name_to_oid(
* @param name The name of the reference * @param name The name of the reference
* @param target The target of the reference * @param target The target of the reference
* @param force Overwrite existing references * @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); 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 ...@@ -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 name The name of the reference
* @param id The object id pointed to by the reference. * @param id The object id pointed to by the reference.
* @param force Overwrite existing references * @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); 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); ...@@ -111,7 +111,7 @@ GIT_EXTERN(const char *) git_reference_target(git_reference *ref);
* @param ref The reference * @param ref The reference
* @return the type * @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 * Get the full name of a reference
...@@ -137,7 +137,7 @@ GIT_EXTERN(const char *) git_reference_name(git_reference *ref); ...@@ -137,7 +137,7 @@ GIT_EXTERN(const char *) git_reference_name(git_reference *ref);
* *
* @param resolved_ref Pointer to the peeled reference * @param resolved_ref Pointer to the peeled reference
* @param ref The 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); 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); ...@@ -160,7 +160,7 @@ GIT_EXTERN(git_repository *) git_reference_owner(git_reference *ref);
* *
* @param ref The reference * @param ref The reference
* @param target The new target for 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); 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) ...@@ -175,7 +175,7 @@ GIT_EXTERN(int) git_reference_set_target(git_reference *ref, const char *target)
* *
* @param ref The reference * @param ref The reference
* @param id The new target OID for 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); 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); ...@@ -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 ref The reference to rename
* @param new_name The new name for the reference * @param new_name The new name for the reference
* @param force Overwrite an existing 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); 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 ...@@ -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. * memory. The given reference pointer will no longer be valid.
* *
* @param ref The reference to remove * @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); GIT_EXTERN(int) git_reference_delete(git_reference *ref);
...@@ -231,7 +231,7 @@ 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. * the loose references will be removed from disk.
* *
* @param repo Repository where the loose refs will be packed * @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); GIT_EXTERN(int) git_reference_packall(git_repository *repo);
...@@ -254,9 +254,9 @@ 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 repo Repository where to find the refs
* @param list_flags Filtering flags for the reference * @param list_flags Filtering flags for the reference
* listing. * 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, ...@@ -276,7 +276,7 @@ GIT_EXTERN(int) git_reference_listall(git_strarray *array, git_repository *repo,
* listing. * listing.
* @param callback Function which will be called for every listed ref * @param callback Function which will be called for every listed ref
* @param payload Additional data to pass to the callback * @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); 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); ...@@ -304,7 +304,7 @@ GIT_EXTERN(int) git_reference_is_packed(git_reference *ref);
* returned and the reference pointer will be invalidated. * returned and the reference pointer will be invalidated.
* *
* @param ref The reference to reload * @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); GIT_EXTERN(int) git_reference_reload(git_reference *ref);
...@@ -320,7 +320,7 @@ GIT_EXTERN(void) git_reference_free(git_reference *ref); ...@@ -320,7 +320,7 @@ GIT_EXTERN(void) git_reference_free(git_reference *ref);
* *
* @param ref1 The first git_reference * @param ref1 The first git_reference
* @param ref2 The second 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); GIT_EXTERN(int) git_reference_cmp(git_reference *ref1, git_reference *ref2);
......
...@@ -51,7 +51,7 @@ GIT_EXTERN(int) git_refspec_src_matches(const git_refspec *refspec, const char * ...@@ -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 outlen the size ouf the `out` buffer
* @param spec the refspec * @param spec the refspec
* @param name the name of the reference to transform * @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); GIT_EXTERN(int) git_refspec_transform(char *out, size_t outlen, const git_refspec *spec, const char *name);
......
...@@ -41,7 +41,7 @@ GIT_BEGIN_DECL ...@@ -41,7 +41,7 @@ GIT_BEGIN_DECL
* @param name the remote's name * @param name the remote's name
* @param url the remote repository's URL * @param url the remote repository's URL
* @param fetch the fetch refspec to use for this remote * @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); 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 ...@@ -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 out pointer to the new remote object
* @param cfg the repository's configuration * @param cfg the repository's configuration
* @param name the remote's name * @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); 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 ...@@ -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 * Save a remote to its repository's configuration
* *
* @param remote the remote to save to config * @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); GIT_EXTERN(int) git_remote_save(const git_remote *remote);
...@@ -84,7 +84,7 @@ GIT_EXTERN(const char *) git_remote_url(git_remote *remote); ...@@ -84,7 +84,7 @@ GIT_EXTERN(const char *) git_remote_url(git_remote *remote);
* *
* @param remote the remote * @param remote the remote
* @apram spec the new fetch refspec * @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); 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); ...@@ -101,7 +101,7 @@ GIT_EXTERN(const git_refspec *) git_remote_fetchspec(git_remote *remote);
* *
* @param remote the remote * @param remote the remote
* @apram spec the new push refspec * @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); 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); ...@@ -123,7 +123,7 @@ GIT_EXTERN(const git_refspec *) git_remote_pushspec(git_remote *remote);
* *
* @param remote the remote to connect to * @param remote the remote to connect to
* @param direction whether you want to receive or send data * @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); 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); ...@@ -135,7 +135,7 @@ GIT_EXTERN(int) git_remote_connect(git_remote *remote, int direction);
* *
* @param refs where to store the refs * @param refs where to store the refs
* @param remote the remote * @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); 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 ...@@ -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 remote the remote to download from
* @param filename where to store the temproray filename * @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); 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); ...@@ -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 remotes_list a string array with the names of the remotes
* @param repo the repository to query * @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); GIT_EXTERN(int) git_remote_list(git_strarray *remotes_list, git_repository *repo);
......
...@@ -31,7 +31,7 @@ GIT_BEGIN_DECL ...@@ -31,7 +31,7 @@ GIT_BEGIN_DECL
* *
* @param repository pointer to the repo which will be opened * @param repository pointer to the repo which will be opened
* @param path the path to the repository * @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); 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 ...@@ -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 * start_path no matter start_path appears in ceiling_dirs ceiling_dirs
* might be NULL (which is equivalent to an empty string) * 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( GIT_EXTERN(int) git_repository_discover(
char *repository_path, char *repository_path,
...@@ -109,7 +109,7 @@ GIT_EXTERN(void) git_repository_free(git_repository *repo); ...@@ -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 * at the pointed path. If false, provided path will be considered as the working
* directory into which the .git directory will be created. * 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); 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); ...@@ -194,7 +194,7 @@ GIT_EXTERN(const char *) git_repository_workdir(git_repository *repo);
* *
* @param repo A repository object * @param repo A repository object
* @param workdir The path to a working directory * @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); 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); ...@@ -218,7 +218,7 @@ GIT_EXTERN(int) git_repository_is_bare(git_repository *repo);
* *
* @param out Pointer to store the loaded config file * @param out Pointer to store the loaded config file
* @param repo A repository object * @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); 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 ...@@ -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 out Pointer to store the loaded ODB
* @param repo A repository object * @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); 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); ...@@ -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 out Pointer to store the loaded index
* @param repo A repository object * @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); GIT_EXTERN(int) git_repository_index(git_index **out, git_repository *repo);
......
...@@ -65,7 +65,7 @@ GIT_BEGIN_DECL ...@@ -65,7 +65,7 @@ GIT_BEGIN_DECL
* *
* @param walker pointer to the new revision walker * @param walker pointer to the new revision walker
* @param repo the repo to walk through * @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); 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); ...@@ -97,7 +97,7 @@ GIT_EXTERN(void) git_revwalk_reset(git_revwalk *walker);
* *
* @param walk the walker being used for the traversal. * @param walk the walker being used for the traversal.
* @param oid the oid of the commit to start from. * @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); 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); ...@@ -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 walk the walker being used for the traversal
* @param glob the glob pattern references should match * @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); 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); ...@@ -120,7 +120,7 @@ GIT_EXTERN(int) git_revwalk_push_glob(git_revwalk *walk, const char *glob);
* Push the repository's HEAD * Push the repository's HEAD
* *
* @param walk the walker being used for the traversal * @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); GIT_EXTERN(int) git_revwalk_push_head(git_revwalk *walk);
...@@ -135,7 +135,7 @@ 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 walk the walker being used for the traversal.
* @param oid the oid of commit that will be ignored during 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); 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); ...@@ -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 walk the walker being used for the traversal
* @param glob the glob pattern references should match * @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); 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); ...@@ -159,7 +159,7 @@ GIT_EXTERN(int) git_revwalk_hide_glob(git_revwalk *walk, const char *glob);
* Hide the repository's HEAD * Hide the repository's HEAD
* *
* @param walk the walker being used for the traversal * @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); GIT_EXTERN(int) git_revwalk_hide_head(git_revwalk *walk);
...@@ -170,7 +170,7 @@ 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 walk the walker being used for the traversal
* @param refname the referece to push * @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); 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); ...@@ -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 walk the walker being used for the traversal
* @param refname the referece to hide * @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); 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); ...@@ -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 oid Pointer where to store the oid of the next commit
* @param walk the walker to pop the commit from. * @param walk the walker to pop the commit from.
* @return GIT_SUCCESS if the next commit was found; * @return 0 if the next commit was found;
* GIT_EREVWALKOVER if there are no commits left to iterate * GIT_REVWALKOVER if there are no commits left to iterate
*/ */
GIT_EXTERN(int) git_revwalk_next(git_oid *oid, git_revwalk *walk); GIT_EXTERN(int) git_revwalk_next(git_oid *oid, git_revwalk *walk);
......
...@@ -28,7 +28,7 @@ GIT_BEGIN_DECL ...@@ -28,7 +28,7 @@ GIT_BEGIN_DECL
* @param email email of the person * @param email email of the person
* @param time time when the action happened * @param time time when the action happened
* @param offset timezone offset in minutes for the time * @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); 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 ...@@ -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 sig_out new signature, in case of error NULL
* @param name name of the person * @param name name of the person
* @param email email 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); GIT_EXTERN(int) git_signature_now(git_signature **sig_out, const char *name, const char *email);
......
...@@ -19,19 +19,19 @@ ...@@ -19,19 +19,19 @@
*/ */
GIT_BEGIN_DECL GIT_BEGIN_DECL
#define GIT_STATUS_CURRENT 0 enum {
GIT_STATUS_CURRENT = 0,
/** Flags for index status */ GIT_STATUS_INDEX_NEW = (1 << 0),
#define GIT_STATUS_INDEX_NEW (1 << 0) GIT_STATUS_INDEX_MODIFIED = (1 << 1),
#define GIT_STATUS_INDEX_MODIFIED (1 << 1) GIT_STATUS_INDEX_DELETED = (1 << 2),
#define GIT_STATUS_INDEX_DELETED (1 << 2)
/** Flags for worktree status */ GIT_STATUS_WT_NEW = (1 << 3),
#define GIT_STATUS_WT_NEW (1 << 3) GIT_STATUS_WT_MODIFIED = (1 << 4),
#define GIT_STATUS_WT_MODIFIED (1 << 4) GIT_STATUS_WT_DELETED = (1 << 5),
#define 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. * Gather file statuses and run a callback for each one.
...@@ -97,11 +97,14 @@ typedef enum { ...@@ -97,11 +97,14 @@ typedef enum {
* slash on the entry name). Given this flag, the directory * slash on the entry name). Given this flag, the directory
* itself will not be included, but all the files in it will. * 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) enum {
#define GIT_STATUS_OPT_INCLUDE_UNMODIFIED (1 << 2) GIT_STATUS_OPT_INCLUDE_UNTRACKED = (1 << 0),
#define GIT_STATUS_OPT_EXCLUDE_SUBMODULES (1 << 3) GIT_STATUS_OPT_INCLUDE_IGNORED = (1 << 1),
#define GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS (1 << 4) 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 * Options to control how callbacks will be made by
...@@ -130,7 +133,7 @@ GIT_EXTERN(int) git_status_foreach_ext( ...@@ -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 * @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 * @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, * 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( GIT_EXTERN(int) git_status_file(
unsigned int *status_flags, unsigned int *status_flags,
......
...@@ -27,7 +27,7 @@ GIT_BEGIN_DECL ...@@ -27,7 +27,7 @@ GIT_BEGIN_DECL
* @param tag pointer to the looked up tag * @param tag pointer to the looked up tag
* @param repo the repo to use when locating the tag. * @param repo the repo to use when locating the tag.
* @param id identity of the tag to locate. * @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) 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 ...@@ -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 repo the repo to use when locating the tag.
* @param id identity of the tag to locate. * @param id identity of the tag to locate.
* @param len the length of the short identifier * @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) 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); ...@@ -85,7 +85,7 @@ GIT_EXTERN(const git_oid *) git_tag_id(git_tag *tag);
* *
* @param target pointer where to store the target * @param target pointer where to store the target
* @param tag a previously loaded tag. * @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); 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); ...@@ -161,7 +161,7 @@ GIT_EXTERN(const char *) git_tag_message(git_tag *tag);
* *
* @param force Overwrite existing references * @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 * A tag object is written to the ODB, and a proper reference
* is written in the /refs/tags folder, pointing to it * is written in the /refs/tags folder, pointing to it
*/ */
...@@ -212,7 +212,7 @@ GIT_EXTERN(int) git_tag_create_frombuffer( ...@@ -212,7 +212,7 @@ GIT_EXTERN(int) git_tag_create_frombuffer(
* *
* @param force Overwrite existing references * @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, * A proper reference is written in the /refs/tags folder,
* pointing to the provided target object * pointing to the provided target object
*/ */
...@@ -231,7 +231,7 @@ GIT_EXTERN(int) git_tag_create_lightweight( ...@@ -231,7 +231,7 @@ GIT_EXTERN(int) git_tag_create_lightweight(
* @param tag_name Name of the tag to be deleted; * @param tag_name Name of the tag to be deleted;
* this name is validated for consistency. * 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_EXTERN(int) git_tag_delete(
git_repository *repo, git_repository *repo,
...@@ -248,7 +248,7 @@ GIT_EXTERN(int) git_tag_delete( ...@@ -248,7 +248,7 @@ GIT_EXTERN(int) git_tag_delete(
* @param tag_names Pointer to a git_strarray structure where * @param tag_names Pointer to a git_strarray structure where
* the tag names will be stored * the tag names will be stored
* @param repo Repository where to find the tags * @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_EXTERN(int) git_tag_list(
git_strarray *tag_names, git_strarray *tag_names,
...@@ -270,7 +270,7 @@ GIT_EXTERN(int) git_tag_list( ...@@ -270,7 +270,7 @@ GIT_EXTERN(int) git_tag_list(
* the tag names will be stored * the tag names will be stored
* @param pattern Standard fnmatch pattern * @param pattern Standard fnmatch pattern
* @param repo Repository where to find the tags * @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_EXTERN(int) git_tag_list_match(
git_strarray *tag_names, git_strarray *tag_names,
...@@ -286,7 +286,7 @@ GIT_EXTERN(int) git_tag_list_match( ...@@ -286,7 +286,7 @@ GIT_EXTERN(int) git_tag_list_match(
* *
* @param tag_target Pointer to the peeled git_object * @param tag_target Pointer to the peeled git_object
* @param tag The tag to be processed * @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_EXTERN(int) git_tag_peel(
git_object **tag_target, git_object **tag_target,
......
...@@ -27,7 +27,7 @@ GIT_BEGIN_DECL ...@@ -27,7 +27,7 @@ GIT_BEGIN_DECL
* @param tree pointer to the looked up tree * @param tree pointer to the looked up tree
* @param repo the repo to use when locating the tree. * @param repo the repo to use when locating the tree.
* @param id identity of the tree to locate. * @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) 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 ...@@ -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 repo the repo to use when locating the tree.
* @param id identity of the tree to locate. * @param id identity of the tree to locate.
* @param len the length of the short identifier * @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) 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); ...@@ -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 object pointer to the converted object
* @param repo repository where to lookup the pointed object * @param repo repository where to lookup the pointed object
* @param entry a tree entry * @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); 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 ...@@ -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 oid Pointer where to store the written tree
* @param index Index to write * @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); 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 ...@@ -229,7 +229,7 @@ GIT_EXTERN(const git_tree_entry *) git_treebuilder_get(git_treebuilder *bld, con
* @param filename Filename of the entry * @param filename Filename of the entry
* @param id SHA1 oid of the entry * @param id SHA1 oid of the entry
* @param attributes Folder attributes 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); 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 ...@@ -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 oid Pointer where to store the written OID
* @param repo Repository where to store the object * @param repo Repository where to store the object
* @param bld Tree builder to write * @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); 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 ...@@ -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 subtree Pointer where to store the subtree
* @param root A previously loaded tree which will be the root of the relative path * @param root A previously loaded tree which will be the root of the relative path
* @param subtree_path Path to the contained subtree * @param subtree_path Path to the contained subtree
* @return GIT_SUCCESS on success; GIT_ENOTFOUND if the path does not lead to a * @return 0 on success; GIT_ENOTFOUND if the path does not lead to a subtree
* subtree, GIT_EINVALIDPATH or an error code
*/ */
GIT_EXTERN(int) git_tree_get_subtree(git_tree **subtree, git_tree *root, const char *subtree_path); 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 { ...@@ -309,7 +308,7 @@ enum git_treewalk_mode {
* @param callback Function to call on each tree entry * @param callback Function to call on each tree entry
* @param mode Traversal mode (pre or post-order) * @param mode Traversal mode (pre or post-order)
* @param payload Opaque pointer to be passed on each callback * @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); GIT_EXTERN(int) git_tree_walk(git_tree *tree, git_treewalk_cb callback, int mode, void *payload);
......
...@@ -158,13 +158,13 @@ typedef enum { ...@@ -158,13 +158,13 @@ typedef enum {
GIT_REF_PACKED = 4, GIT_REF_PACKED = 4,
GIT_REF_HAS_PEEL = 8, GIT_REF_HAS_PEEL = 8,
GIT_REF_LISTALL = GIT_REF_OID|GIT_REF_SYMBOLIC|GIT_REF_PACKED, GIT_REF_LISTALL = GIT_REF_OID|GIT_REF_SYMBOLIC|GIT_REF_PACKED,
} git_rtype; } git_ref_t;
/** Basic type of any Git branch. */ /** Basic type of any Git branch. */
typedef enum { typedef enum {
GIT_BRANCH_LOCAL = 1, GIT_BRANCH_LOCAL = 1,
GIT_BRANCH_REMOTE = 2, GIT_BRANCH_REMOTE = 2,
} git_branch_type; } git_branch_t;
typedef struct git_refspec git_refspec; typedef struct git_refspec git_refspec;
typedef struct git_remote git_remote; typedef struct git_remote git_remote;
......
...@@ -13,11 +13,11 @@ static int collect_attr_files( ...@@ -13,11 +13,11 @@ static int collect_attr_files(
int git_attr_get( int git_attr_get(
const char **value,
git_repository *repo, git_repository *repo,
uint32_t flags, uint32_t flags,
const char *pathname, const char *pathname,
const char *name, const char *name)
const char **value)
{ {
int error; int error;
git_attr_path path; git_attr_path path;
...@@ -64,12 +64,12 @@ typedef struct { ...@@ -64,12 +64,12 @@ typedef struct {
} attr_get_many_info; } attr_get_many_info;
int git_attr_get_many( int git_attr_get_many(
const char **values,
git_repository *repo, git_repository *repo,
uint32_t flags, uint32_t flags,
const char *pathname, const char *pathname,
size_t num_attr, size_t num_attr,
const char **names, const char **names)
const char **values)
{ {
int error; int error;
git_attr_path path; git_attr_path path;
...@@ -576,11 +576,11 @@ int git_attr_cache__init(git_repository *repo) ...@@ -576,11 +576,11 @@ int git_attr_cache__init(git_repository *repo)
if (git_repository_config__weakptr(&cfg, repo) < 0) if (git_repository_config__weakptr(&cfg, repo) < 0)
return -1; 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) if (ret < 0 && ret != GIT_ENOTFOUND)
return ret; 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) if (ret < 0 && ret != GIT_ENOTFOUND)
return ret; return ret;
......
...@@ -105,7 +105,7 @@ cleanup: ...@@ -105,7 +105,7 @@ cleanup:
return error; 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 *branch = NULL;
git_reference *head = NULL; git_reference *head = NULL;
......
...@@ -199,30 +199,6 @@ int git_config_set_string(git_config *cfg, const char *name, const char *value) ...@@ -199,30 +199,6 @@ int git_config_set_string(git_config *cfg, const char *name, const char *value)
return file->set(file, name, 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) static int parse_int64(int64_t *out, const char *value)
{ {
const char *num_end; const char *num_end;
...@@ -297,7 +273,7 @@ int git_config_lookup_map_value( ...@@ -297,7 +273,7 @@ int git_config_lookup_map_value(
case GIT_CVAR_TRUE: { case GIT_CVAR_TRUE: {
int bool_val; 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) { bool_val == (int)m->cvar_type) {
*out = m->map_value; *out = m->map_value;
return 0; return 0;
...@@ -322,12 +298,17 @@ int git_config_lookup_map_value( ...@@ -322,12 +298,17 @@ int git_config_lookup_map_value(
return GIT_ENOTFOUND; 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; const char *value;
int ret; int ret;
ret = git_config_get_string(cfg, name, &value); ret = git_config_get_string(&value, cfg, name);
if (ret < 0) if (ret < 0)
return ret; return ret;
...@@ -339,12 +320,12 @@ int git_config_get_mapped(git_config *cfg, const char *name, git_cvar_map *maps, ...@@ -339,12 +320,12 @@ int git_config_get_mapped(git_config *cfg, const char *name, git_cvar_map *maps,
return -1; 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; const char *value;
int ret; int ret;
ret = git_config_get_string(cfg, name, &value); ret = git_config_get_string(&value, cfg, name);
if (ret < 0) if (ret < 0)
return ret; return ret;
...@@ -356,12 +337,12 @@ int git_config_get_int64(git_config *cfg, const char *name, int64_t *out) ...@@ -356,12 +337,12 @@ int git_config_get_int64(git_config *cfg, const char *name, int64_t *out)
return 0; 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; const char *value;
int ret; int ret;
ret = git_config_get_string(cfg, name, &value); ret = git_config_get_string(&value, cfg, name);
if (ret < 0) if (ret < 0)
return ret; return ret;
...@@ -373,16 +354,16 @@ int git_config_get_int32(git_config *cfg, const char *name, int32_t *out) ...@@ -373,16 +354,16 @@ int git_config_get_int32(git_config *cfg, const char *name, int32_t *out)
return 0; 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; const char *value;
int ret; int ret;
ret = git_config_get_string(cfg, name, &value); ret = git_config_get_string(&value, cfg, name);
if (ret < 0) if (ret < 0)
return ret; return ret;
if (git_config_parse_bool(out, value) == 0) if (git__parse_bool(out, value) == 0)
return 0; return 0;
if (parse_int32(out, value) == 0) { if (parse_int32(out, value) == 0) {
...@@ -394,7 +375,7 @@ int git_config_get_bool(git_config *cfg, const char *name, int *out) ...@@ -394,7 +375,7 @@ int git_config_get_bool(git_config *cfg, const char *name, int *out)
return -1; 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; file_internal *internal;
unsigned int i; unsigned int i;
...@@ -462,7 +443,7 @@ int git_config_find_global_r(git_buf *path) ...@@ -462,7 +443,7 @@ int git_config_find_global_r(git_buf *path)
return git_futils_find_global_file(path, GIT_CONFIG_FILENAME); 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; git_buf path = GIT_BUF_INIT;
int ret = git_config_find_global_r(&path); int ret = git_config_find_global_r(&path);
...@@ -472,14 +453,14 @@ int git_config_find_global(char *global_config_path) ...@@ -472,14 +453,14 @@ int git_config_find_global(char *global_config_path)
return ret; return ret;
} }
if (path.size > GIT_PATH_MAX) { if (path.size >= length) {
git_buf_free(&path); git_buf_free(&path);
giterr_set(GITERR_NOMEMORY, giterr_set(GITERR_NOMEMORY,
"Path is to long to fit on the given buffer"); "Path is to long to fit on the given buffer");
return -1; 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); git_buf_free(&path);
return 0; return 0;
} }
...@@ -489,7 +470,7 @@ int git_config_find_system_r(git_buf *path) ...@@ -489,7 +470,7 @@ int git_config_find_system_r(git_buf *path)
return git_futils_find_system_file(path, GIT_CONFIG_FILENAME_SYSTEM); 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; git_buf path = GIT_BUF_INIT;
int ret = git_config_find_system_r(&path); int ret = git_config_find_system_r(&path);
...@@ -499,14 +480,14 @@ int git_config_find_system(char *system_config_path) ...@@ -499,14 +480,14 @@ int git_config_find_system(char *system_config_path)
return ret; return ret;
} }
if (path.size > GIT_PATH_MAX) { if (path.size >= length) {
git_buf_free(&path); git_buf_free(&path);
giterr_set(GITERR_NOMEMORY, giterr_set(GITERR_NOMEMORY,
"Path is to long to fit on the given buffer"); "Path is to long to fit on the given buffer");
return -1; 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); git_buf_free(&path);
return 0; return 0;
} }
...@@ -514,11 +495,14 @@ int git_config_find_system(char *system_config_path) ...@@ -514,11 +495,14 @@ int git_config_find_system(char *system_config_path)
int git_config_open_global(git_config **out) int git_config_open_global(git_config **out)
{ {
int error; 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 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;
} }
...@@ -66,22 +66,22 @@ int git_repository__cvar(int *out, git_repository *repo, git_cvar_cached cvar) ...@@ -66,22 +66,22 @@ int git_repository__cvar(int *out, git_repository *repo, git_cvar_cached cvar)
int error; int error;
error = git_repository_config__weakptr(&config, repo); error = git_repository_config__weakptr(&config, repo);
if (error < GIT_SUCCESS) if (error < 0)
return error; return error;
error = git_config_get_mapped( error = git_config_get_mapped(out,
config, data->cvar_name, data->maps, data->map_count, out); config, data->cvar_name, data->maps, data->map_count);
if (error == GIT_ENOTFOUND) if (error == GIT_ENOTFOUND)
*out = data->default_value; *out = data->default_value;
else if (error < GIT_SUCCESS) else if (error < 0)
return error; return error;
repo->cvar_cache[(int)cvar] = *out; repo->cvar_cache[(int)cvar] = *out;
} }
return GIT_SUCCESS; return 0;
} }
void git_repository__cvar_cache_clear(git_repository *repo) void git_repository__cvar_cache_clear(git_repository *repo)
......
...@@ -82,8 +82,8 @@ static int crlf_load_attributes(struct crlf_attrs *ca, git_repository *repo, con ...@@ -82,8 +82,8 @@ static int crlf_load_attributes(struct crlf_attrs *ca, git_repository *repo, con
const char *attr_vals[NUM_CONV_ATTRS]; const char *attr_vals[NUM_CONV_ATTRS];
int error; int error;
error = git_attr_get_many( error = git_attr_get_many(attr_vals,
repo, 0, path, NUM_CONV_ATTRS, attr_names, attr_vals); repo, 0, path, NUM_CONV_ATTRS, attr_names);
if (error == GIT_ENOTFOUND) { if (error == GIT_ENOTFOUND) {
ca->crlf_action = GIT_CRLF_GUESS; ca->crlf_action = GIT_CRLF_GUESS;
...@@ -91,7 +91,7 @@ static int crlf_load_attributes(struct crlf_attrs *ca, git_repository *repo, con ...@@ -91,7 +91,7 @@ static int crlf_load_attributes(struct crlf_attrs *ca, git_repository *repo, con
return 0; return 0;
} }
if (error == GIT_SUCCESS) { if (error == 0) {
ca->crlf_action = check_crlf(attr_vals[2]); /* text */ ca->crlf_action = check_crlf(attr_vals[2]); /* text */
if (ca->crlf_action == GIT_CRLF_GUESS) if (ca->crlf_action == GIT_CRLF_GUESS)
ca->crlf_action = check_crlf(attr_vals[0]); /* clrf */ 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 ...@@ -100,7 +100,7 @@ static int crlf_load_attributes(struct crlf_attrs *ca, git_repository *repo, con
return 0; return 0;
} }
return error; return -1;
} }
static int drop_crlf(git_buf *dest, const git_buf *source) 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 ...@@ -207,7 +207,7 @@ int git_filter_add__crlf_to_odb(git_vector *filters, git_repository *repo, const
int auto_crlf; int auto_crlf;
if ((error = git_repository__cvar( if ((error = git_repository__cvar(
&auto_crlf, repo, GIT_CVAR_AUTO_CRLF)) < GIT_SUCCESS) &auto_crlf, repo, GIT_CVAR_AUTO_CRLF)) < 0)
return error; return error;
if (auto_crlf == GIT_AUTO_CRLF_FALSE) if (auto_crlf == GIT_AUTO_CRLF_FALSE)
......
...@@ -111,7 +111,7 @@ int git__delta_apply( ...@@ -111,7 +111,7 @@ int git__delta_apply(
if (delta != delta_end || res_sz) if (delta != delta_end || res_sz)
goto fail; goto fail;
return GIT_SUCCESS; return 0;
fail: fail:
git__free(out->data); git__free(out->data);
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
* @param delta the delta to execute copy/insert instructions from. * @param delta the delta to execute copy/insert instructions from.
* @param delta_len total number of bytes in the delta. * @param delta_len total number of bytes in the delta.
* @return * @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. * - GIT_ERROR if the delta is corrupt or doesn't match the base.
*/ */
extern int git__delta_apply( extern int git__delta_apply(
......
...@@ -270,8 +270,10 @@ static int diff_delta__cmp(const void *a, const void *b) ...@@ -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) static int config_bool(git_config *cfg, const char *name, int defvalue)
{ {
int val = defvalue; int val = defvalue;
if (git_config_get_bool(cfg, name, &val) < 0)
if (git_config_get_bool(&val, cfg, name) < 0)
giterr_clear(); giterr_clear();
return val; return val;
} }
......
...@@ -103,7 +103,7 @@ static int diff_output_cb(void *priv, mmbuffer_t *bufs, int len) ...@@ -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) static int update_file_is_binary_by_attr(git_repository *repo, git_diff_file *file)
{ {
const char *value; 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; return -1;
if (GIT_ATTR_FALSE(value)) if (GIT_ATTR_FALSE(value))
......
...@@ -165,7 +165,7 @@ int git_fetch_setup_walk(git_revwalk **out, git_repository *repo) ...@@ -165,7 +165,7 @@ int git_fetch_setup_walk(git_revwalk **out, git_repository *repo)
unsigned int i; unsigned int i;
git_reference *ref; 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; return -1;
if (git_revwalk_new(&walk, repo) < 0) if (git_revwalk_new(&walk, repo) < 0)
......
...@@ -129,7 +129,7 @@ int git_filters_apply(git_buf *dest, git_buf *source, git_vector *filters) ...@@ -129,7 +129,7 @@ int git_filters_apply(git_buf *dest, git_buf *source, git_vector *filters)
if (git_buf_len(source) == 0) { if (git_buf_len(source) == 0) {
git_buf_clear(dest); git_buf_clear(dest);
return GIT_SUCCESS; return 0;
} }
/* Pre-grow the destination buffer to more or less the size /* 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) ...@@ -160,6 +160,6 @@ int git_filters_apply(git_buf *dest, git_buf *source, git_vector *filters)
if (src != 1) if (src != 1)
git_buf_swap(dest, source); git_buf_swap(dest, source);
return GIT_SUCCESS; return 0;
} }
...@@ -75,7 +75,7 @@ extern int git_filters_load(git_vector *filters, git_repository *repo, const cha ...@@ -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 dest Buffer to store the result of the filtering
* @param source Buffer containing the document to filter * @param source Buffer containing the document to filter
* @param filters A non-empty vector of filters as supplied by `git_filters_load` * @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); extern int git_filters_apply(git_buf *dest, git_buf *source, git_vector *filters);
......
...@@ -205,9 +205,9 @@ static int store_delta(git_indexer_stream *idx) ...@@ -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); 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; idx->off = entry_start;
return GIT_ESHORTBUFFER; return GIT_EBUFS;
} else if (error < 0){ } else if (error < 0){
return -1; return -1;
} }
...@@ -355,7 +355,7 @@ int git_indexer_stream_add(git_indexer_stream *idx, const void *data, size_t siz ...@@ -355,7 +355,7 @@ int git_indexer_stream_add(git_indexer_stream *idx, const void *data, size_t siz
return 0; return 0;
error = git_packfile_unpack(&obj, idx->pack, &idx->off); error = git_packfile_unpack(&obj, idx->pack, &idx->off);
if (error == GIT_ESHORTBUFFER) { if (error == GIT_EBUFS) {
idx->off = entry_start; idx->off = entry_start;
return 0; return 0;
} }
...@@ -363,7 +363,7 @@ int git_indexer_stream_add(git_indexer_stream *idx, const void *data, size_t siz ...@@ -363,7 +363,7 @@ int git_indexer_stream_add(git_indexer_stream *idx, const void *data, size_t siz
if (error < 0) { if (error < 0) {
idx->off = entry_start; idx->off = entry_start;
error = store_delta(idx); error = store_delta(idx);
if (error == GIT_ESHORTBUFFER) if (error == GIT_EBUFS)
return 0; return 0;
if (error < 0) if (error < 0)
return error; return error;
......
...@@ -274,7 +274,7 @@ static int note_get_default_ref(const char **out, git_repository *repo) ...@@ -274,7 +274,7 @@ static int note_get_default_ref(const char **out, git_repository *repo)
if (git_repository_config__weakptr(&cfg, repo) < 0) if (git_repository_config__weakptr(&cfg, repo) < 0)
return -1; return -1;
ret = git_config_get_string(cfg, "core.notesRef", out); ret = git_config_get_string(out, cfg, "core.notesRef");
if (ret == GIT_ENOTFOUND) { if (ret == GIT_ENOTFOUND) {
*out = GIT_NOTES_DEFAULT_REF; *out = GIT_NOTES_DEFAULT_REF;
return 0; return 0;
......
...@@ -74,7 +74,7 @@ static int create_object(git_object **object_out, git_otype type) ...@@ -74,7 +74,7 @@ static int create_object(git_object **object_out, git_otype type)
object->type = type; object->type = type;
*object_out = object; *object_out = object;
return GIT_SUCCESS; return 0;
} }
int git_object_lookup_prefix( int git_object_lookup_prefix(
...@@ -87,7 +87,7 @@ int git_object_lookup_prefix( ...@@ -87,7 +87,7 @@ int git_object_lookup_prefix(
git_object *object = NULL; git_object *object = NULL;
git_odb *odb = NULL; git_odb *odb = NULL;
git_odb_object *odb_obj; git_odb_object *odb_obj;
int error = GIT_SUCCESS; int error = 0;
assert(repo && object_out && id); assert(repo && object_out && id);
...@@ -95,7 +95,7 @@ int git_object_lookup_prefix( ...@@ -95,7 +95,7 @@ int git_object_lookup_prefix(
return GIT_EAMBIGUOUS; return GIT_EAMBIGUOUS;
error = git_repository_odb__weakptr(&odb, repo); error = git_repository_odb__weakptr(&odb, repo);
if (error < GIT_SUCCESS) if (error < 0)
return error; return error;
if (len > GIT_OID_HEXSZ) if (len > GIT_OID_HEXSZ)
......
...@@ -505,7 +505,7 @@ int git_odb_read_header(size_t *len_p, git_otype *type_p, git_odb *db, const git ...@@ -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); error = b->read_header(len_p, type_p, b, id);
} }
if (!error || error == GIT_EPASSTHROUGH) if (!error || error == GIT_PASSTHROUGH)
return 0; return 0;
/* /*
...@@ -545,7 +545,7 @@ int git_odb_read(git_odb_object **out, git_odb *db, const git_oid *id) ...@@ -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(). * will never have called giterr_set().
*/ */
if (error && error != GIT_EPASSTHROUGH) if (error && error != GIT_PASSTHROUGH)
return error; return error;
*out = git_cache_try_store(&db->cache, new_odb_object(id, &raw)); *out = git_cache_try_store(&db->cache, new_odb_object(id, &raw));
...@@ -582,7 +582,7 @@ int git_odb_read_prefix( ...@@ -582,7 +582,7 @@ int git_odb_read_prefix(
if (b->read != NULL) { if (b->read != NULL) {
git_oid full_oid; git_oid full_oid;
error = b->read_prefix(&full_oid, &raw.data, &raw.len, &raw.type, b, short_id, len); 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; continue;
if (error) if (error)
...@@ -623,7 +623,7 @@ int git_odb_write( ...@@ -623,7 +623,7 @@ int git_odb_write(
error = b->write(oid, b, data, len, type); error = b->write(oid, b, data, len, type);
} }
if (!error || error == GIT_EPASSTHROUGH) if (!error || error == GIT_PASSTHROUGH)
return 0; return 0;
/* if no backends were able to write the object directly, we try a streaming /* if no backends were able to write the object directly, we try a streaming
...@@ -662,7 +662,7 @@ int git_odb_open_wstream( ...@@ -662,7 +662,7 @@ int git_odb_open_wstream(
error = init_fake_wstream(stream, b, size, type); error = init_fake_wstream(stream, b, size, type);
} }
if (error == GIT_EPASSTHROUGH) if (error == GIT_PASSTHROUGH)
error = 0; error = 0;
return error; return error;
...@@ -683,7 +683,7 @@ int git_odb_open_rstream(git_odb_stream **stream, git_odb *db, const git_oid *oi ...@@ -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); error = b->readstream(stream, b, oid);
} }
if (error == GIT_EPASSTHROUGH) if (error == GIT_PASSTHROUGH)
error = 0; error = 0;
return error; return error;
......
...@@ -222,7 +222,7 @@ static int packfile_unpack_header1( ...@@ -222,7 +222,7 @@ static int packfile_unpack_header1(
shift = 4; shift = 4;
while (c & 0x80) { while (c & 0x80) {
if (len <= used) if (len <= used)
return GIT_ESHORTBUFFER; return GIT_EBUFS;
if (bitsizeof(long) <= shift) { if (bitsizeof(long) <= shift) {
*usedp = 0; *usedp = 0;
...@@ -260,11 +260,11 @@ int git_packfile_unpack_header( ...@@ -260,11 +260,11 @@ int git_packfile_unpack_header(
// base = pack_window_open(p, w_curs, *curpos, &left); // base = pack_window_open(p, w_curs, *curpos, &left);
base = git_mwindow_open(mwf, w_curs, *curpos, 20, &left); base = git_mwindow_open(mwf, w_curs, *curpos, 20, &left);
if (base == NULL) if (base == NULL)
return GIT_ESHORTBUFFER; return GIT_EBUFS;
ret = packfile_unpack_header1(&used, size_p, type_p, base, left); ret = packfile_unpack_header1(&used, size_p, type_p, base, left);
git_mwindow_close(w_curs); git_mwindow_close(w_curs);
if (ret == GIT_ESHORTBUFFER) if (ret == GIT_EBUFS)
return ret; return ret;
else if (ret < 0) else if (ret < 0)
return packfile_error("header length is zero"); return packfile_error("header length is zero");
...@@ -428,7 +428,7 @@ int packfile_unpack_compressed( ...@@ -428,7 +428,7 @@ int packfile_unpack_compressed(
if (st == Z_BUF_ERROR && in == NULL) { if (st == Z_BUF_ERROR && in == NULL) {
inflateEnd(&stream); inflateEnd(&stream);
git__free(buffer); git__free(buffer);
return GIT_ESHORTBUFFER; return GIT_EBUFS;
} }
*curpos += stream.next_in - in; *curpos += stream.next_in - in;
...@@ -467,7 +467,7 @@ git_off_t get_delta_base( ...@@ -467,7 +467,7 @@ git_off_t get_delta_base(
base_info = pack_window_open(p, w_curs, *curpos, &left); base_info = pack_window_open(p, w_curs, *curpos, &left);
/* Assumption: the only reason this would fail is because the file is too small */ /* Assumption: the only reason this would fail is because the file is too small */
if (base_info == NULL) if (base_info == NULL)
return GIT_ESHORTBUFFER; return GIT_EBUFS;
/* pack_window_open() assured us we have [base_info, base_info + 20) /* pack_window_open() assured us we have [base_info, base_info + 20)
* as a range that we can look at without walking off the * as a range that we can look at without walking off the
* end of the mapped window. Its actually the hash size * end of the mapped window. Its actually the hash size
...@@ -480,7 +480,7 @@ git_off_t get_delta_base( ...@@ -480,7 +480,7 @@ git_off_t get_delta_base(
base_offset = c & 127; base_offset = c & 127;
while (c & 128) { while (c & 128) {
if (left <= used) if (left <= used)
return GIT_ESHORTBUFFER; return GIT_EBUFS;
base_offset += 1; base_offset += 1;
if (!base_offset || MSB(base_offset, 7)) if (!base_offset || MSB(base_offset, 7))
return 0; /* overflow */ return 0; /* overflow */
......
...@@ -208,7 +208,7 @@ int git_pkt_parse_line( ...@@ -208,7 +208,7 @@ int git_pkt_parse_line(
/* Not even enough for the length */ /* Not even enough for the length */
if (bufflen > 0 && bufflen < PKT_LEN_SIZE) if (bufflen > 0 && bufflen < PKT_LEN_SIZE)
return GIT_ESHORTBUFFER; return GIT_EBUFS;
len = parse_len(line); len = parse_len(line);
if (len < 0) { if (len < 0) {
...@@ -230,7 +230,7 @@ int git_pkt_parse_line( ...@@ -230,7 +230,7 @@ int git_pkt_parse_line(
* enough in the buffer to satisfy this line * enough in the buffer to satisfy this line
*/ */
if (bufflen > 0 && bufflen < (size_t)len) if (bufflen > 0 && bufflen < (size_t)len)
return GIT_ESHORTBUFFER; return GIT_EBUFS;
line += PKT_LEN_SIZE; line += PKT_LEN_SIZE;
/* /*
......
...@@ -34,7 +34,7 @@ int git_protocol_store_refs(git_protocol *p, const char *data, size_t len) ...@@ -34,7 +34,7 @@ int git_protocol_store_refs(git_protocol *p, const char *data, size_t len)
return 0; return 0;
error = git_pkt_parse_line(&pkt, ptr, &line_end, git_buf_len(buf)); 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 */ return 0; /* Ask for more */
if (error < 0) if (error < 0)
return p->error = -1; return p->error = -1;
......
...@@ -194,10 +194,10 @@ corrupt: ...@@ -194,10 +194,10 @@ corrupt:
return -1; 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_buf ref_file = GIT_BUF_INIT;
git_rtype type; git_ref_t type;
type = GIT_REF_INVALID; type = GIT_REF_INVALID;
...@@ -1153,7 +1153,7 @@ int git_reference_lookup_resolved( ...@@ -1153,7 +1153,7 @@ int git_reference_lookup_resolved(
/** /**
* Getters * Getters
*/ */
git_rtype git_reference_type(git_reference *ref) git_ref_t git_reference_type(git_reference *ref)
{ {
assert(ref); assert(ref);
...@@ -1518,7 +1518,7 @@ static int cb__reflist_add(const char *ref, void *data) ...@@ -1518,7 +1518,7 @@ static int cb__reflist_add(const char *ref, void *data)
return git_vector_insert((git_vector *)data, git__strdup(ref)); return git_vector_insert((git_vector *)data, git__strdup(ref));
} }
int git_reference_listall( int git_reference_list(
git_strarray *array, git_strarray *array,
git_repository *repo, git_repository *repo,
unsigned int list_flags) unsigned int list_flags)
......
...@@ -68,7 +68,7 @@ int git_refspec_transform(char *out, size_t outlen, const git_refspec *spec, con ...@@ -68,7 +68,7 @@ int git_refspec_transform(char *out, size_t outlen, const git_refspec *spec, con
baselen = strlen(spec->dst); baselen = strlen(spec->dst);
if (outlen <= baselen) { if (outlen <= baselen) {
giterr_set(GITERR_INVALID, "Reference name too long"); 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 ...@@ -90,7 +90,7 @@ int git_refspec_transform(char *out, size_t outlen, const git_refspec *spec, con
if (outlen <= baselen + namelen) { if (outlen <= baselen + namelen) {
giterr_set(GITERR_INVALID, "Reference name too long"); giterr_set(GITERR_INVALID, "Reference name too long");
return GIT_ESHORTBUFFER; return GIT_EBUFS;
} }
memcpy(out, spec->dst, baselen); memcpy(out, spec->dst, baselen);
......
...@@ -28,7 +28,7 @@ int git_refspec_parse(struct git_refspec *refspec, const char *str); ...@@ -28,7 +28,7 @@ int git_refspec_parse(struct git_refspec *refspec, const char *str);
* @param out where to store the target name * @param out where to store the target name
* @param spec the refspec * @param spec the refspec
* @param name the name of the reference to transform * @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); int git_refspec_transform_r(git_buf *out, const git_refspec *spec, const char *name);
......
...@@ -48,7 +48,7 @@ static int parse_remote_refspec(git_config *cfg, git_refspec *refspec, const cha ...@@ -48,7 +48,7 @@ static int parse_remote_refspec(git_config *cfg, git_refspec *refspec, const cha
int error; int error;
const char *val; 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 error;
return refspec_parse(refspec, val); return refspec_parse(refspec, val);
...@@ -121,7 +121,7 @@ int git_remote_load(git_remote **out, git_repository *repo, const char *name) ...@@ -121,7 +121,7 @@ int git_remote_load(git_remote **out, git_repository *repo, const char *name)
goto cleanup; 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; goto cleanup;
remote->repo = repo; remote->repo = repo;
...@@ -338,7 +338,7 @@ int git_remote_update_tips(git_remote *remote, int (*cb)(const char *refname, co ...@@ -338,7 +338,7 @@ int git_remote_update_tips(git_remote *remote, int (*cb)(const char *refname, co
assert(remote); assert(remote);
if (refs->length == 0) if (refs->length == 0)
return GIT_SUCCESS; return 0;
/* HEAD is only allowed to be the first in the list */ /* HEAD is only allowed to be the first in the list */
head = refs->contents[0]; head = refs->contents[0];
......
...@@ -25,8 +25,7 @@ ...@@ -25,8 +25,7 @@
#define GIT_BRANCH_MASTER "master" #define GIT_BRANCH_MASTER "master"
#define GIT_CONFIG_CORE_REPOSITORYFORMATVERSION "core.repositoryformatversion" #define GIT_REPO_VERSION 0
#define GIT_REPOSITORYFORMATVERSION 0
static void drop_odb(git_repository *repo) static void drop_odb(git_repository *repo)
{ {
...@@ -125,7 +124,7 @@ static int load_config_data(git_repository *repo) ...@@ -125,7 +124,7 @@ static int load_config_data(git_repository *repo)
if (git_repository_config__weakptr(&config, repo) < 0) if (git_repository_config__weakptr(&config, repo) < 0)
return -1; 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 return -1; /* FIXME: We assume that a missing core.bare
variable is an error. Is this right? */ variable is an error. Is this right? */
...@@ -146,7 +145,7 @@ static int load_workdir(git_repository *repo, git_buf *parent_path) ...@@ -146,7 +145,7 @@ static int load_workdir(git_repository *repo, git_buf *parent_path)
if (git_repository_config__weakptr(&config, repo) < 0) if (git_repository_config__weakptr(&config, repo) < 0)
return -1; return -1;
error = git_config_get_string(config, "core.worktree", &worktree); error = git_config_get_string(&worktree, config, "core.worktree");
if (!error && worktree != NULL) if (!error && worktree != NULL)
repo->workdir = git__strdup(worktree); repo->workdir = git__strdup(worktree);
else if (error != GIT_ENOTFOUND) else if (error != GIT_ENOTFOUND)
...@@ -607,13 +606,13 @@ static int check_repositoryformatversion(git_repository *repo) ...@@ -607,13 +606,13 @@ static int check_repositoryformatversion(git_repository *repo)
if (git_repository_config__weakptr(&config, repo) < 0) if (git_repository_config__weakptr(&config, repo) < 0)
return -1; 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; return -1;
if (GIT_REPOSITORYFORMATVERSION < version) { if (GIT_REPO_VERSION < version) {
giterr_set(GITERR_REPOSITORY, giterr_set(GITERR_REPOSITORY,
"Unsupported repository version %d. Only versions up to %d are supported.", "Unsupported repository version %d. Only versions up to %d are supported.",
version, GIT_REPOSITORYFORMATVERSION); version, GIT_REPO_VERSION);
return -1; return -1;
} }
...@@ -676,7 +675,7 @@ static int repo_init_config(const char *git_dir, int is_bare) ...@@ -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(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? */ /* TODO: what other defaults? */
git_buf_free(&cfg_path); git_buf_free(&cfg_path);
......
...@@ -316,7 +316,7 @@ static int merge_bases_many(commit_list **out, git_revwalk *walk, commit_object ...@@ -316,7 +316,7 @@ static int merge_bases_many(commit_list **out, git_revwalk *walk, commit_object
if ((p->flags & flags) == flags) if ((p->flags & flags) == flags)
continue; continue;
if ((error = commit_parse(walk, p)) < GIT_SUCCESS) if ((error = commit_parse(walk, p)) < 0)
return error; return error;
p->flags |= flags; p->flags |= flags;
...@@ -600,7 +600,7 @@ static int revwalk_next_timesort(commit_object **object_out, git_revwalk *walk) ...@@ -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) 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) ...@@ -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) 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) ...@@ -629,7 +629,7 @@ static int revwalk_next_toposort(commit_object **object_out, git_revwalk *walk)
for (;;) { for (;;) {
next = commit_list_pop(&walk->iterator_topo); next = commit_list_pop(&walk->iterator_topo);
if (next == NULL) if (next == NULL)
return GIT_EREVWALKOVER; return GIT_REVWALKOVER;
if (next->in_degree > 0) { if (next->in_degree > 0) {
next->topo_delay = 1; next->topo_delay = 1;
...@@ -654,7 +654,7 @@ static int revwalk_next_toposort(commit_object **object_out, git_revwalk *walk) ...@@ -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) static int revwalk_next_reverse(commit_object **object_out, git_revwalk *walk)
{ {
*object_out = commit_list_pop(&walk->iterator_reverse); *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) ...@@ -670,7 +670,7 @@ static int prepare_walk(git_revwalk *walk)
* so we know that the walk is already over. * so we know that the walk is already over.
*/ */
if (walk->one == NULL) if (walk->one == NULL)
return GIT_EREVWALKOVER; return GIT_REVWALKOVER;
/* first figure out what the merge bases are */ /* first figure out what the merge bases are */
if (merge_bases_many(&bases, walk, walk->one, &walk->twos) < 0) if (merge_bases_many(&bases, walk, walk->one, &walk->twos) < 0)
...@@ -698,7 +698,7 @@ static int prepare_walk(git_revwalk *walk) ...@@ -698,7 +698,7 @@ static int prepare_walk(git_revwalk *walk)
return -1; return -1;
} }
if (error != GIT_EREVWALKOVER) if (error != GIT_REVWALKOVER)
return error; return error;
walk->get_next = &revwalk_next_toposort; walk->get_next = &revwalk_next_toposort;
...@@ -710,7 +710,7 @@ static int prepare_walk(git_revwalk *walk) ...@@ -710,7 +710,7 @@ static int prepare_walk(git_revwalk *walk)
if (commit_list_insert(next, &walk->iterator_reverse) == NULL) if (commit_list_insert(next, &walk->iterator_reverse) == NULL)
return -1; return -1;
if (error != GIT_EREVWALKOVER) if (error != GIT_REVWALKOVER)
return error; return error;
walk->get_next = &revwalk_next_reverse; walk->get_next = &revwalk_next_reverse;
...@@ -809,9 +809,9 @@ int git_revwalk_next(git_oid *oid, git_revwalk *walk) ...@@ -809,9 +809,9 @@ int git_revwalk_next(git_oid *oid, git_revwalk *walk)
error = walk->get_next(&next, walk); error = walk->get_next(&next, walk);
if (error == GIT_EREVWALKOVER) { if (error == GIT_REVWALKOVER) {
git_revwalk_reset(walk); git_revwalk_reset(walk);
return GIT_EREVWALKOVER; return GIT_REVWALKOVER;
} }
if (!error) if (!error)
......
...@@ -167,7 +167,7 @@ static int parse_timezone_offset(const char *buffer, int *offset_out) ...@@ -167,7 +167,7 @@ static int parse_timezone_offset(const char *buffer, int *offset_out)
if (*offset_start == '\n') { if (*offset_start == '\n') {
*offset_out = 0; *offset_out = 0;
return GIT_SUCCESS; return 0;
} }
if (offset_start[0] != '-' && offset_start[0] != '+') if (offset_start[0] != '-' && offset_start[0] != '+')
...@@ -176,7 +176,7 @@ static int parse_timezone_offset(const char *buffer, int *offset_out) ...@@ -176,7 +176,7 @@ static int parse_timezone_offset(const char *buffer, int *offset_out)
if (offset_start[1] < '0' || offset_start[1] > '9') if (offset_start[1] < '0' || offset_start[1] > '9')
return timezone_error("expected initial digit"); 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"); return timezone_error("not a valid number");
if (offset_end - offset_start != 5) if (offset_end - offset_start != 5)
......
...@@ -218,9 +218,12 @@ static int submodule_from_config( ...@@ -218,9 +218,12 @@ static int submodule_from_config(
sm->update = (git_submodule_update_t)val; sm->update = (git_submodule_update_t)val;
} }
else if (strcmp(property, "fetchRecurseSubmodules") == 0) { 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; goto fail;
} }
}
else if (strcmp(property, "ignore") == 0) { else if (strcmp(property, "ignore") == 0) {
int val; int val;
if (git_config_lookup_map_value( if (git_config_lookup_map_value(
......
...@@ -168,7 +168,7 @@ static int retrieve_tag_reference( ...@@ -168,7 +168,7 @@ static int retrieve_tag_reference(
return -1; return -1;
error = git_reference_lookup(&tag_ref, repo, ref_name_out->ptr); 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 */ return error; /* Be it not foundo or corrupted */
*tag_reference_out = tag_ref; *tag_reference_out = tag_ref;
...@@ -254,7 +254,7 @@ static int git_tag_create__internal( ...@@ -254,7 +254,7 @@ static int git_tag_create__internal(
} }
error = retrieve_tag_reference_oid(oid, &ref_name, repo, tag_name); 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; return -1;
/** Ensure the tag name doesn't conflict with an already existing /** 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 ...@@ -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); 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; goto on_error;
/* We don't need these objects after this */ /* We don't need these objects after this */
...@@ -414,7 +414,7 @@ static int tag_list_cb(const char *tag_name, void *payload) ...@@ -414,7 +414,7 @@ static int tag_list_cb(const char *tag_name, void *payload)
return 0; return 0;
filter = (tag_filter_data *)payload; 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 git_vector_insert(filter->taglist, git__strdup(tag_name));
return 0; return 0;
...@@ -428,7 +428,7 @@ int git_tag_list_match(git_strarray *tag_names, const char *pattern, git_reposit ...@@ -428,7 +428,7 @@ int git_tag_list_match(git_strarray *tag_names, const char *pattern, git_reposit
assert(tag_names && repo && pattern); assert(tag_names && repo && pattern);
if (git_vector_init(&taglist, 8, NULL) < GIT_SUCCESS) if (git_vector_init(&taglist, 8, NULL) < 0)
return -1; return -1;
filter.taglist = &taglist; filter.taglist = &taglist;
......
...@@ -37,7 +37,7 @@ static git_transport_cb transport_find_fn(const char *url) ...@@ -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 */ /* 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; return &git_transport_local;
/* It could be a SSH remote path. Check to see if there's a : */ /* 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) ...@@ -72,7 +72,7 @@ int git_transport_new(git_transport **out, const char *url)
} }
error = fn(&transport); error = fn(&transport);
if (error < GIT_SUCCESS) if (error < 0)
return error; return error;
transport->url = git__strdup(url); transport->url = git__strdup(url);
...@@ -80,7 +80,7 @@ int git_transport_new(git_transport **out, const char *url) ...@@ -80,7 +80,7 @@ int git_transport_new(git_transport **out, const char *url)
*out = transport; *out = transport;
return GIT_SUCCESS; return 0;
} }
/* from remote.h */ /* from remote.h */
......
...@@ -147,7 +147,7 @@ static int store_refs(transport_git *t) ...@@ -147,7 +147,7 @@ static int store_refs(transport_git *t)
return 0; return 0;
ret = git_protocol_store_refs(&t->proto, buf->data, buf->offset); 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); gitno_consume_n(buf, buf->len);
continue; continue;
} }
...@@ -279,7 +279,7 @@ static int recv_pkt(gitno_buffer *buf) ...@@ -279,7 +279,7 @@ static int recv_pkt(gitno_buffer *buf)
return -1; return -1;
error = git_pkt_parse_line(&pkt, ptr, &line_end, buf->offset); error = git_pkt_parse_line(&pkt, ptr, &line_end, buf->offset);
if (error == GIT_ESHORTBUFFER) if (error == GIT_EBUFS)
continue; continue;
if (error < 0) if (error < 0)
return -1; return -1;
...@@ -344,7 +344,7 @@ static int git_negotiate_fetch(git_transport *transport, git_repository *repo, c ...@@ -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; goto on_error;
/* Tell the other end that we're done negotiating */ /* 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 ...@@ -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); error = git_pkt_parse_line(&pkt, ptr, &line_end, buf->offset);
if (error == GIT_ESHORTBUFFER) if (error == GIT_EBUFS)
break; break;
if (error < GIT_SUCCESS) if (error < 0)
return error; return error;
if (pkt->type == GIT_PKT_PACK) { if (pkt->type == GIT_PKT_PACK) {
......
...@@ -354,10 +354,10 @@ static int on_body_parse_response(http_parser *parser, const char *str, size_t l ...@@ -354,10 +354,10 @@ static int on_body_parse_response(http_parser *parser, const char *str, size_t l
return 0; return 0;
error = git_pkt_parse_line(&pkt, ptr, &line_end, git_buf_len(buf)); 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 */ return 0; /* Ask for more */
} }
if (error < GIT_SUCCESS) if (error < 0)
return t->error = -1; return t->error = -1;
git_buf_consume(buf, line_end); git_buf_consume(buf, line_end);
...@@ -486,7 +486,7 @@ static int http_negotiate_fetch(git_transport *transport, git_repository *repo, ...@@ -486,7 +486,7 @@ static int http_negotiate_fetch(git_transport *transport, git_repository *repo,
git_buf_clear(&request); git_buf_clear(&request);
git_buf_clear(&data); git_buf_clear(&data);
if (ret < GIT_SUCCESS || i >= 256) if (ret < 0 || i >= 256)
break; break;
if ((ret = parse_response(t)) < 0) if ((ret = parse_response(t)) < 0)
......
...@@ -91,7 +91,7 @@ static int store_refs(transport_local *t) ...@@ -91,7 +91,7 @@ static int store_refs(transport_local *t)
assert(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) git_vector_init(&t->refs, (unsigned int)ref_names.count, NULL) < 0)
goto on_error; goto on_error;
......
...@@ -647,7 +647,7 @@ static int tree_frompath( ...@@ -647,7 +647,7 @@ static int tree_frompath(
{ {
char *slash_pos = NULL; char *slash_pos = NULL;
const git_tree_entry* entry; const git_tree_entry* entry;
int error = GIT_SUCCESS; int error = 0;
git_tree *subtree; git_tree *subtree;
if (!*(treeentry_path->ptr + offset)) { if (!*(treeentry_path->ptr + offset)) {
...@@ -724,7 +724,7 @@ static int tree_walk_post( ...@@ -724,7 +724,7 @@ static int tree_walk_post(
git_buf *path, git_buf *path,
void *payload) void *payload)
{ {
int error = GIT_SUCCESS; int error = 0;
unsigned int i; unsigned int i;
for (i = 0; i < tree->entries.length; ++i) { for (i = 0; i < tree->entries.length; ++i) {
...@@ -761,7 +761,7 @@ static int tree_walk_post( ...@@ -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 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; git_buf root_path = GIT_BUF_INIT;
switch (mode) { switch (mode) {
......
...@@ -411,3 +411,27 @@ int git__strcmp_cb(const void *a, const void *b) ...@@ -411,3 +411,27 @@ int git__strcmp_cb(const void *a, const void *b)
return strcmp(stra, strb); 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;
}
...@@ -214,4 +214,13 @@ GIT_INLINE(bool) git__iswildcard(int c) ...@@ -214,4 +214,13 @@ GIT_INLINE(bool) git__iswildcard(int c)
return (c == '*' || c == '?' || 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__ */ #endif /* INCLUDE_util_h__ */
...@@ -14,7 +14,7 @@ void test_attr_flags__bare(void) ...@@ -14,7 +14,7 @@ void test_attr_flags__bare(void)
cl_assert(git_repository_is_bare(repo)); cl_assert(git_repository_is_bare(repo));
cl_git_pass(git_attr_get( 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)); cl_assert(GIT_ATTR_UNSPECIFIED(value));
} }
...@@ -27,34 +27,34 @@ void test_attr_flags__index_vs_workdir(void) ...@@ -27,34 +27,34 @@ void test_attr_flags__index_vs_workdir(void)
/* wd then index */ /* wd then index */
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
"README.md", "bar", &value)); "README.md", "bar"));
cl_assert(GIT_ATTR_FALSE(value)); cl_assert(GIT_ATTR_FALSE(value));
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
"README.md", "blargh", &value)); "README.md", "blargh"));
cl_assert_equal_s(value, "goop"); cl_assert_equal_s(value, "goop");
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
"README.txt", "foo", &value)); "README.txt", "foo"));
cl_assert(GIT_ATTR_FALSE(value)); cl_assert(GIT_ATTR_FALSE(value));
/* index then wd */ /* index then wd */
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
"README.md", "bar", &value)); "README.md", "bar"));
cl_assert(GIT_ATTR_TRUE(value)); cl_assert(GIT_ATTR_TRUE(value));
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
"README.md", "blargh", &value)); "README.md", "blargh"));
cl_assert_equal_s(value, "garble"); cl_assert_equal_s(value, "garble");
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
"README.txt", "foo", &value)); "README.txt", "foo"));
cl_assert(GIT_ATTR_TRUE(value)); cl_assert(GIT_ATTR_TRUE(value));
} }
...@@ -65,44 +65,44 @@ void test_attr_flags__subdir(void) ...@@ -65,44 +65,44 @@ void test_attr_flags__subdir(void)
/* wd then index */ /* wd then index */
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
"sub/sub/README.md", "bar", &value)); "sub/sub/README.md", "bar"));
cl_assert_equal_s(value, "1234"); cl_assert_equal_s(value, "1234");
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
"sub/sub/README.txt", "another", &value)); "sub/sub/README.txt", "another"));
cl_assert_equal_s(value, "one"); cl_assert_equal_s(value, "one");
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
"sub/sub/README.txt", "again", &value)); "sub/sub/README.txt", "again"));
cl_assert(GIT_ATTR_TRUE(value)); cl_assert(GIT_ATTR_TRUE(value));
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
"sub/sub/README.txt", "beep", &value)); "sub/sub/README.txt", "beep"));
cl_assert_equal_s(value, "10"); cl_assert_equal_s(value, "10");
/* index then wd */ /* index then wd */
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
"sub/sub/README.md", "bar", &value)); "sub/sub/README.md", "bar"));
cl_assert_equal_s(value, "1337"); cl_assert_equal_s(value, "1337");
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
"sub/sub/README.txt", "another", &value)); "sub/sub/README.txt", "another"));
cl_assert_equal_s(value, "one"); cl_assert_equal_s(value, "one");
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
"sub/sub/README.txt", "again", &value)); "sub/sub/README.txt", "again"));
cl_assert(GIT_ATTR_TRUE(value)); cl_assert(GIT_ATTR_TRUE(value));
cl_git_pass(git_attr_get( cl_git_pass(git_attr_get(
repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE, &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
"sub/sub/README.txt", "beep", &value)); "sub/sub/README.txt", "beep"));
cl_assert_equal_s(value, "5"); cl_assert_equal_s(value, "5");
} }
...@@ -64,7 +64,7 @@ void test_attr_repo__get_one(void) ...@@ -64,7 +64,7 @@ void test_attr_repo__get_one(void)
for (scan = test_cases; scan->path != NULL; scan++) { for (scan = test_cases; scan->path != NULL; scan++) {
const char *value; 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); attr_check_expected(scan->expected, scan->expected_str, value);
} }
...@@ -78,21 +78,21 @@ void test_attr_repo__get_many(void) ...@@ -78,21 +78,21 @@ void test_attr_repo__get_many(void)
const char *names[4] = { "repoattr", "rootattr", "missingattr", "subattr" }; const char *names[4] = { "repoattr", "rootattr", "missingattr", "subattr" };
const char *values[4]; 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[0]));
cl_assert(GIT_ATTR_TRUE(values[1])); cl_assert(GIT_ATTR_TRUE(values[1]));
cl_assert(GIT_ATTR_UNSPECIFIED(values[2])); cl_assert(GIT_ATTR_UNSPECIFIED(values[2]));
cl_assert(GIT_ATTR_UNSPECIFIED(values[3])); 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_TRUE(values[0]));
cl_assert(GIT_ATTR_FALSE(values[1])); cl_assert(GIT_ATTR_FALSE(values[1]));
cl_assert(GIT_ATTR_UNSPECIFIED(values[2])); cl_assert(GIT_ATTR_UNSPECIFIED(values[2]));
cl_assert(GIT_ATTR_UNSPECIFIED(values[3])); 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[0]));
cl_assert(GIT_ATTR_TRUE(values[1])); cl_assert(GIT_ATTR_TRUE(values[1]));
...@@ -137,19 +137,19 @@ void test_attr_repo__manpage_example(void) ...@@ -137,19 +137,19 @@ void test_attr_repo__manpage_example(void)
{ {
const char *value; 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_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_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_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_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)); cl_assert(GIT_ATTR_UNSPECIFIED(value));
} }
...@@ -160,7 +160,7 @@ void test_attr_repo__macros(void) ...@@ -160,7 +160,7 @@ void test_attr_repo__macros(void)
const char *names3[3] = { "macro2", "multi2", "multi3" }; const char *names3[3] = { "macro2", "multi2", "multi3" };
const char *values[5]; 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[0]));
cl_assert(GIT_ATTR_TRUE(values[1])); cl_assert(GIT_ATTR_TRUE(values[1]));
...@@ -168,7 +168,7 @@ void test_attr_repo__macros(void) ...@@ -168,7 +168,7 @@ void test_attr_repo__macros(void)
cl_assert(GIT_ATTR_FALSE(values[3])); cl_assert(GIT_ATTR_FALSE(values[3]));
cl_assert(GIT_ATTR_UNSPECIFIED(values[4])); 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[0]));
cl_assert(GIT_ATTR_TRUE(values[1])); cl_assert(GIT_ATTR_TRUE(values[1]));
...@@ -176,7 +176,7 @@ void test_attr_repo__macros(void) ...@@ -176,7 +176,7 @@ void test_attr_repo__macros(void)
cl_assert(GIT_ATTR_UNSPECIFIED(values[3])); cl_assert(GIT_ATTR_UNSPECIFIED(values[3]));
cl_assert_equal_s("77", values[4]); 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_TRUE(values[0]));
cl_assert(GIT_ATTR_FALSE(values[1])); cl_assert(GIT_ATTR_FALSE(values[1]));
...@@ -189,7 +189,7 @@ void test_attr_repo__bad_macros(void) ...@@ -189,7 +189,7 @@ void test_attr_repo__bad_macros(void)
"firstmacro", "secondmacro", "thirdmacro" }; "firstmacro", "secondmacro", "thirdmacro" };
const char *values[6]; 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 */ /* these three just confirm that the "mymacro" rule ran */
cl_assert(GIT_ATTR_UNSPECIFIED(values[0])); cl_assert(GIT_ATTR_UNSPECIFIED(values[0]));
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
static int try_build_signature(const char *name, const char *email, git_time_t time, int offset) static int try_build_signature(const char *name, const char *email, git_time_t time, int offset)
{ {
git_signature *sign; 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; return error;
git_signature_free((git_signature *)sign); git_signature_free((git_signature *)sign);
......
...@@ -17,7 +17,7 @@ void test_config_add__to_existing_section(void) ...@@ -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_open_ondisk(&cfg, "config10"));
cl_git_pass(git_config_set_int32(cfg, "empty.tmp", 5)); 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_assert(i == 5);
cl_git_pass(git_config_delete(cfg, "empty.tmp")); cl_git_pass(git_config_delete(cfg, "empty.tmp"));
git_config_free(cfg); git_config_free(cfg);
...@@ -30,7 +30,7 @@ void test_config_add__to_new_section(void) ...@@ -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_open_ondisk(&cfg, "config10"));
cl_git_pass(git_config_set_int32(cfg, "section.tmp", 5)); 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_assert(i == 5);
cl_git_pass(git_config_delete(cfg, "section.tmp")); cl_git_pass(git_config_delete(cfg, "section.tmp"));
git_config_free(cfg); git_config_free(cfg);
......
...@@ -21,7 +21,7 @@ static int mv_read_cb(const char *name, const char *value, void *data) ...@@ -21,7 +21,7 @@ static int mv_read_cb(const char *name, const char *value, void *data)
if (!strcmp(name, _name)) if (!strcmp(name, _name))
(*n)++; (*n)++;
return GIT_SUCCESS; return 0;
} }
void test_config_multivar__foreach(void) void test_config_multivar__foreach(void)
...@@ -45,7 +45,7 @@ static int cb(const char *val, void *data) ...@@ -45,7 +45,7 @@ static int cb(const char *val, void *data)
(*n)++; (*n)++;
return GIT_SUCCESS; return 0;
} }
void test_config_multivar__get(void) void test_config_multivar__get(void)
......
...@@ -25,9 +25,9 @@ void test_config_new__write_new_config(void) ...@@ -25,9 +25,9 @@ void test_config_new__write_new_config(void)
cl_git_pass(git_config_new(&config)); cl_git_pass(git_config_new(&config));
cl_git_pass(git_config_add_file(config, file, 0)); 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_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"); cl_assert_equal_s(out, "ed");
git_config_free(config); git_config_free(config);
......
...@@ -7,13 +7,13 @@ void test_config_read__simple_read(void) ...@@ -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_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_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_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_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); cl_assert(i == 1);
git_config_free(cfg); git_config_free(cfg);
...@@ -27,18 +27,18 @@ void test_config_read__case_sensitive(void) ...@@ -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_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_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_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_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); cl_assert(i == 1);
/* This one doesn't exist */ /* 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); git_config_free(cfg);
} }
...@@ -54,7 +54,7 @@ void test_config_read__multiline_value(void) ...@@ -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_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"); cl_assert_equal_s(str, "one one one two two three three");
git_config_free(cfg); git_config_free(cfg);
...@@ -70,11 +70,11 @@ void test_config_read__subsection_header(void) ...@@ -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_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"); cl_assert_equal_s(str, "hello");
/* The subsection is transformed to lower-case */ /* 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); git_config_free(cfg);
} }
...@@ -87,10 +87,10 @@ void test_config_read__lone_variable(void) ...@@ -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_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_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); cl_assert(i == 1);
git_config_free(cfg); git_config_free(cfg);
...@@ -103,25 +103,25 @@ void test_config_read__number_suffixes(void) ...@@ -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_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_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_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_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_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_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_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); cl_assert(i == 1 * 1024 * 1024 * 1024);
git_config_free(cfg); git_config_free(cfg);
...@@ -134,10 +134,10 @@ void test_config_read__blank_lines(void) ...@@ -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_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_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); cl_assert(i == 0);
git_config_free(cfg); git_config_free(cfg);
...@@ -170,10 +170,10 @@ void test_config_read__prefixes(void) ...@@ -170,10 +170,10 @@ void test_config_read__prefixes(void)
const char *str; const char *str;
cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config9"))); 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_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"); cl_assert_equal_s(str, "http://example.com/git/abba");
git_config_free(cfg); git_config_free(cfg);
...@@ -185,7 +185,7 @@ void test_config_read__escaping_quotes(void) ...@@ -185,7 +185,7 @@ void test_config_read__escaping_quotes(void)
const char *str; const char *str;
cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config13"))); 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); cl_assert(strcmp(str, "\"C:/Program Files/Nonsense/bah.exe\" \"--some option\"") == 0);
git_config_free(cfg); git_config_free(cfg);
......
...@@ -32,8 +32,8 @@ void test_config_stress__dont_break_on_invalid_input(void) ...@@ -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_new(&config));
cl_git_pass(git_config_add_file(config, file, 0)); 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(&color, config, "color.ui"));
cl_git_pass(git_config_get_string(config, "core.editor", &editor)); cl_git_pass(git_config_get_string(&editor, config, "core.editor"));
git_config_free(config); git_config_free(config);
} }
...@@ -48,13 +48,13 @@ void test_config_stress__comments(void) ...@@ -48,13 +48,13 @@ void test_config_stress__comments(void)
cl_git_pass(git_config_new(&config)); cl_git_pass(git_config_new(&config));
cl_git_pass(git_config_add_file(config, file, 0)); 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_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_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")); cl_assert(!strcmp(str, "this is \ba phrase"));
git_config_free(config); git_config_free(config);
......
...@@ -22,7 +22,7 @@ void test_config_write__replace_value(void) ...@@ -22,7 +22,7 @@ void test_config_write__replace_value(void)
git_config_free(cfg); git_config_free(cfg);
cl_git_pass(git_config_open_ondisk(&cfg, "config9")); 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); cl_assert(i == 5);
git_config_free(cfg); git_config_free(cfg);
...@@ -35,12 +35,12 @@ void test_config_write__replace_value(void) ...@@ -35,12 +35,12 @@ void test_config_write__replace_value(void)
git_config_free(cfg); git_config_free(cfg);
cl_git_pass(git_config_open_ondisk(&cfg, "config9")); 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); cl_assert(l == expected);
git_config_free(cfg); git_config_free(cfg);
cl_git_pass(git_config_open_ondisk(&cfg, "config9")); 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); git_config_free(cfg);
cl_git_pass(git_config_open_ondisk(&cfg, "config9")); cl_git_pass(git_config_open_ondisk(&cfg, "config9"));
...@@ -62,7 +62,7 @@ void test_config_write__delete_value(void) ...@@ -62,7 +62,7 @@ void test_config_write__delete_value(void)
git_config_free(cfg); git_config_free(cfg);
cl_git_pass(git_config_open_ondisk(&cfg, "config9")); 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)); cl_git_pass(git_config_set_int32(cfg, "core.dummy", 1));
git_config_free(cfg); git_config_free(cfg);
} }
...@@ -77,7 +77,7 @@ void test_config_write__write_subsection(void) ...@@ -77,7 +77,7 @@ void test_config_write__write_subsection(void)
git_config_free(cfg); git_config_free(cfg);
cl_git_pass(git_config_open_ondisk(&cfg, "config9")); 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")); cl_git_pass(strcmp(str, "works"));
git_config_free(cfg); git_config_free(cfg);
} }
......
...@@ -50,10 +50,10 @@ static void files_are_equal(const char *a, const char *b) ...@@ -50,10 +50,10 @@ static void files_are_equal(const char *a, const char *b)
git_buf buf_b = GIT_BUF_INIT; git_buf buf_b = GIT_BUF_INIT;
int pass; int pass;
if (git_futils_readbuffer(&buf_a, a) < GIT_SUCCESS) if (git_futils_readbuffer(&buf_a, a) < 0)
cl_assert(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); git_buf_free(&buf_a);
cl_assert(0); cl_assert(0);
} }
......
...@@ -68,7 +68,7 @@ static int count_ref__cb(git_remote_head *head, void *payload) ...@@ -68,7 +68,7 @@ static int count_ref__cb(git_remote_head *head, void *payload)
(void)head; (void)head;
(*count)++; (*count)++;
return GIT_SUCCESS; return 0;
} }
static int ensure_peeled__cb(git_remote_head *head, void *payload) static int ensure_peeled__cb(git_remote_head *head, void *payload)
......
...@@ -17,9 +17,9 @@ static void ensure_tag_pattern_match(git_repository *repo, ...@@ -17,9 +17,9 @@ static void ensure_tag_pattern_match(git_repository *repo,
const size_t expected_matches) const size_t expected_matches)
{ {
git_strarray tag_list; 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; goto exit;
if (tag_list.count != expected_matches) if (tag_list.count != expected_matches)
......
...@@ -30,10 +30,10 @@ static void assert_tree_from_path(git_tree *root, const char *path, int expected ...@@ -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); 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; 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)); 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 ...@@ -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) void test_object_tree_frompath__retrieve_tree_from_path_to_treeentry(void)
{ {
/* Will return self if given a one path segment... */ /* 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. */ /* ...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... */ /* 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. */ /* ... 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 */ /* 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) void test_object_tree_frompath__fail_when_processing_an_unknown_tree_segment(void)
......
...@@ -75,7 +75,7 @@ void test_refs_branches_delete__can_delete_a_remote_branch(void) ...@@ -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)); 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; int error;
error = git_branch_delete(repo, branch_name, branch_type); error = git_branch_delete(repo, branch_name, branch_type);
......
...@@ -25,7 +25,7 @@ void test_refs_list__all(void) ...@@ -25,7 +25,7 @@ void test_refs_list__all(void)
// try to list all the references in our test repo // try to list all the references in our test repo
git_strarray ref_list; 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; unsigned short i;
...@@ -46,7 +46,7 @@ void test_refs_list__symbolic_only(void) ...@@ -46,7 +46,7 @@ void test_refs_list__symbolic_only(void)
// try to list only the symbolic references // try to list only the symbolic references
git_strarray ref_list; 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 */ cl_assert(ref_list.count == 0); /* no symrefs in the test repo */
git_strarray_free(&ref_list); git_strarray_free(&ref_list);
......
...@@ -9,7 +9,7 @@ static void ensure_no_refname_starts_with_a_forward_slash(const char *path) ...@@ -9,7 +9,7 @@ static void ensure_no_refname_starts_with_a_forward_slash(const char *path)
size_t i; size_t i;
cl_git_pass(git_repository_open(&repo, path)); 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); cl_assert(ref_list.count > 0);
......
...@@ -73,7 +73,7 @@ static int test_walk(git_revwalk *walk, const git_oid *root, ...@@ -73,7 +73,7 @@ static int test_walk(git_revwalk *walk, const git_oid *root,
i = 0; i = 0;
while (git_revwalk_next(&oid, walk) == GIT_SUCCESS) { while (git_revwalk_next(&oid, walk) == 0) {
result_array[i++] = get_commit_index(&oid); result_array[i++] = get_commit_index(&oid);
/*{ /*{
char str[41]; char str[41];
...@@ -86,7 +86,7 @@ static int test_walk(git_revwalk *walk, const git_oid *root, ...@@ -86,7 +86,7 @@ static int test_walk(git_revwalk *walk, const git_oid *root,
for (i = 0; i < results_count; ++i) for (i = 0; i < results_count; ++i)
if (memcmp(possible_results[i], if (memcmp(possible_results[i],
result_array, result_bytes) == 0) result_array, result_bytes) == 0)
return GIT_SUCCESS; return 0;
return GIT_ERROR; return GIT_ERROR;
} }
...@@ -125,7 +125,7 @@ void test_revwalk_basic__glob_heads(void) ...@@ -125,7 +125,7 @@ void test_revwalk_basic__glob_heads(void)
cl_git_pass(git_revwalk_push_glob(_walk, "heads")); 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++; i++;
} }
...@@ -140,7 +140,7 @@ void test_revwalk_basic__push_head(void) ...@@ -140,7 +140,7 @@ void test_revwalk_basic__push_head(void)
cl_git_pass(git_revwalk_push_head(_walk)); cl_git_pass(git_revwalk_push_head(_walk));
while (git_revwalk_next(&oid, _walk) == GIT_SUCCESS) { while (git_revwalk_next(&oid, _walk) == 0) {
i++; i++;
} }
...@@ -156,7 +156,7 @@ void test_revwalk_basic__push_head_hide_ref(void) ...@@ -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_push_head(_walk));
cl_git_pass(git_revwalk_hide_ref(_walk, "refs/heads/packed-test")); 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++; i++;
} }
...@@ -172,7 +172,7 @@ void test_revwalk_basic__push_head_hide_ref_nobase(void) ...@@ -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_push_head(_walk));
cl_git_pass(git_revwalk_hide_ref(_walk, "refs/heads/packed")); 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++; i++;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment