mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-02 19:32:23 +00:00
Merge pull request #710 from libgit2/breaking-changes
Break everything before the release
This commit is contained in:
commit
59d91979d8
@ -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)
|
|||||||
// 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)
|
|||||||
|
|
||||||
// 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)
|
|||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
// 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)
|
|||||||
|
|
||||||
// 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
|
|||||||
#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
|
|||||||
* 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;
|
|||||||
/**
|
/**
|
||||||
* 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;
|
|||||||
* 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(
|
|||||||
*
|
*
|
||||||
* 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(
|
|||||||
* 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
|
|||||||
* @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
|
|||||||
* @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);
|
|||||||
* 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
|
|||||||
* @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
|
|||||||
* @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
|
|||||||
*
|
*
|
||||||
* @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(
|
|||||||
* @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(
|
|||||||
* 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(
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
* @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
|
|||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
* @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
|
|||||||
* 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 {
|
|||||||
* 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);
|
|||||||
* %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);
|
|||||||
* 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
|
|||||||
* 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);
|
|||||||
* @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
|
|||||||
* @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
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
/**
|
/**
|
||||||
* 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
|
|||||||
* 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)
|
|||||||
* 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
|
|||||||
* @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
|
|||||||
* @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
|
|||||||
* @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
|
|||||||
* @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);
|
|||||||
* @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(
|
|||||||
* 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 @@
|
|||||||
*/
|
*/
|
||||||
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 {
|
|||||||
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 {
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
* 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);
|
|||||||
* 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);
|
|||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
* @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);
|
|||||||
* @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,
|
|||||||
* @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);
|
|||||||
* @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 {
|
|||||||
*
|
*
|
||||||
* @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(
|
|||||||
* @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
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
* @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);
|
|||||||
* @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
|
|||||||
* @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
|
|||||||
* @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);
|
|||||||
* @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
|
|||||||
* @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
|
|||||||
* @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 {
|
|||||||
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 {
|
|||||||
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 {
|
|||||||
* @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);
|
|||||||
* @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
|
|||||||
* @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
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
* @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
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
* 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
|
|||||||
* @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(
|
|||||||
* @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
|
|||||||
* @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);
|
|||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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)
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
* @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
|
|||||||
* 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);
|
|||||||
* 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);
|
|||||||
* @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,
|
|||||||
* 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);
|
|||||||
* 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);
|
|||||||
*
|
*
|
||||||
* @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 *
|
|||||||
* @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
|
|||||||
* @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
|
|||||||
* @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
|
|||||||
* 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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
* 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);
|
|||||||
* 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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
* 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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
* 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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
* @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
|
|||||||
* @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 @@
|
|||||||
*/
|
*/
|
||||||
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 {
|
|||||||
* 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(
|
|||||||
* @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
|
|||||||
* @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
|
|||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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);
|
|||||||
*
|
*
|
||||||
* @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(
|
|||||||
*
|
*
|
||||||
* @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(
|
|||||||
* @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(
|
|||||||
* @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(
|
|||||||
* 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(
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
* @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
|
|||||||
* @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);
|
|||||||
* @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
|
|||||||
*
|
*
|
||||||
* @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
|
|||||||
* @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
|
|||||||
* @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
|
|||||||
* @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 {
|
|||||||
* @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 {
|
|||||||
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;
|
||||||
|
12
src/attr.c
12
src/attr.c
@ -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 {
|
|||||||
} 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)
|
|||||||
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:
|
|||||||
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;
|
||||||
|
72
src/config.c
72
src/config.c
@ -199,30 +199,6 @@ int git_config_set_string(git_config *cfg, const char *name, const char *value)
|
|||||||
return file->set(file, name, value);
|
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(
|
|||||||
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(
|
|||||||
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,
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
||||||
|
10
src/crlf.c
10
src/crlf.c
@ -82,8 +82,8 @@ static int crlf_load_attributes(struct crlf_attrs *ca, git_repository *repo, con
|
|||||||
const char *attr_vals[NUM_CONV_ATTRS];
|
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
|
|||||||
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
|
|||||||
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
|
|||||||
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(
|
|||||||
|
|
||||||
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 @@
|
|||||||
* @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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
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
|
|||||||
* @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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
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
|
|||||||
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
|
|||||||
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)
|
|||||||
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)
|
|||||||
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(
|
|||||||
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(
|
|||||||
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)
|
||||||
|
12
src/odb.c
12
src/odb.c
@ -505,7 +505,7 @@ int git_odb_read_header(size_t *len_p, git_otype *type_p, git_odb *db, const git
|
|||||||
error = b->read_header(len_p, type_p, b, id);
|
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)
|
|||||||
* 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(
|
|||||||
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(
|
|||||||
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(
|
|||||||
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
|
|||||||
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;
|
||||||
|
12
src/pack.c
12
src/pack.c
@ -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(
|
|||||||
// 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(
|
|||||||
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(
|
|||||||
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(
|
|||||||
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(
|
|||||||
|
|
||||||
/* 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(
|
|||||||
* 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)
|
|||||||
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:
|
|||||||
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(
|
|||||||
/**
|
/**
|
||||||
* 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)
|
|||||||
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
|
|||||||
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
|
|||||||
|
|
||||||
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);
|
|||||||
* @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
|
|||||||
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)
|
|||||||
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
|
|||||||
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 @@
|
|||||||
|
|
||||||
#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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
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
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
* 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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
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,8 +218,11 @@ 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;
|
||||||
|
10
src/tag.c
10
src/tag.c
@ -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(
|
|||||||
}
|
}
|
||||||
|
|
||||||
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
|
|||||||
}
|
}
|
||||||
|
|
||||||
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)
|
|||||||
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
|
|||||||
|
|
||||||
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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
*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)
|
|||||||
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)
|
|||||||
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
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
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
|
|||||||
}
|
}
|
||||||
|
|
||||||
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
|
|||||||
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,
|
|||||||
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)
|
|||||||
|
|
||||||
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(
|
|||||||
{
|
{
|
||||||
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(
|
|||||||
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(
|
|||||||
|
|
||||||
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) {
|
||||||
|
24
src/util.c
24
src/util.c
@ -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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
|
|
||||||
/* 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)
|
|||||||
|
|
||||||
/* 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)
|
|||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
{
|
{
|
||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
"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 @@
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
|
|
||||||
(*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)
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
(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,
|
|||||||
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
|
|||||||
|
|
||||||
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
|
|||||||
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)
|
|||||||
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)
|
|||||||
// 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)
|
|||||||
// 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)
|
|||||||
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);
|
||||||
|
|
||||||
|
@ -279,4 +279,4 @@ void test_repo_open__opening_a_non_existing_repository_returns_ENOTFOUND(void)
|
|||||||
{
|
{
|
||||||
git_repository *repo;
|
git_repository *repo;
|
||||||
cl_assert_equal_i(GIT_ENOTFOUND, git_repository_open(&repo, "i-do-not/exist"));
|
cl_assert_equal_i(GIT_ENOTFOUND, git_repository_open(&repo, "i-do-not/exist"));
|
||||||
}
|
}
|
||||||
|
@ -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,
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
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++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user