diff options
| author | Ben Straub <bstraub@github.com> | 2012-06-05 12:52:44 -0700 |
|---|---|---|
| committer | Ben Straub <bstraub@github.com> | 2012-06-05 12:52:44 -0700 |
| commit | 56a5000d580ef5c9605bc9076610b5af9aa67518 (patch) | |
| tree | 4026c8333991fbe221a17b5d16e5e4b52f66cb20 /include/git2/status.h | |
| parent | e267c9fc1a4910d1081e97b4d7a411658ddc0def (diff) | |
| parent | 01dbe273c9b6f86a613b67cee27212cf4bacf4c0 (diff) | |
| download | libgit2-56a5000d580ef5c9605bc9076610b5af9aa67518.tar.gz | |
Merge branch 'development' into rev-parse
Conflicts:
src/util.h
tests-clar/refs/branches/listall.c
Diffstat (limited to 'include/git2/status.h')
| -rw-r--r-- | include/git2/status.h | 68 |
1 files changed, 40 insertions, 28 deletions
diff --git a/include/git2/status.h b/include/git2/status.h index f5fc95f0a..6a424dfd6 100644 --- a/include/git2/status.h +++ b/include/git2/status.h @@ -19,32 +19,35 @@ */ GIT_BEGIN_DECL -#define GIT_STATUS_CURRENT 0 +enum { + GIT_STATUS_CURRENT = 0, -/** Flags for index status */ -#define GIT_STATUS_INDEX_NEW (1 << 0) -#define GIT_STATUS_INDEX_MODIFIED (1 << 1) -#define GIT_STATUS_INDEX_DELETED (1 << 2) + GIT_STATUS_INDEX_NEW = (1 << 0), + GIT_STATUS_INDEX_MODIFIED = (1 << 1), + GIT_STATUS_INDEX_DELETED = (1 << 2), -/** Flags for worktree status */ -#define GIT_STATUS_WT_NEW (1 << 3) -#define GIT_STATUS_WT_MODIFIED (1 << 4) -#define GIT_STATUS_WT_DELETED (1 << 5) + GIT_STATUS_WT_NEW = (1 << 3), + GIT_STATUS_WT_MODIFIED = (1 << 4), + GIT_STATUS_WT_DELETED = (1 << 5), -#define GIT_STATUS_IGNORED (1 << 6) + GIT_STATUS_IGNORED = (1 << 6), +}; /** * Gather file statuses and run a callback for each one. * - * The callback is passed the path of the file, the status and the data pointer - * passed to this function. If the callback returns something other than - * GIT_SUCCESS, this function will return that value. + * The callback is passed the path of the file, the status and the data + * pointer passed to this function. If the callback returns something other + * than 0, this function will return that value. * * @param repo a repository object * @param callback the function to call on each file - * @return GIT_SUCCESS or the return value of the callback which did not return GIT_SUCCESS + * @return 0 on success or the return value of the callback that was non-zero */ -GIT_EXTERN(int) git_status_foreach(git_repository *repo, int (*callback)(const char *, unsigned int, void *), void *payload); +GIT_EXTERN(int) git_status_foreach( + git_repository *repo, + int (*callback)(const char *, unsigned int, void *), + void *payload); /** * Select the files on which to report status. @@ -94,11 +97,14 @@ typedef enum { * slash on the entry name). Given this flag, the directory * itself will not be included, but all the files in it will. */ -#define GIT_STATUS_OPT_INCLUDE_UNTRACKED (1 << 0) -#define GIT_STATUS_OPT_INCLUDE_IGNORED (1 << 1) -#define GIT_STATUS_OPT_INCLUDE_UNMODIFIED (1 << 2) -#define GIT_STATUS_OPT_EXCLUDE_SUBMODULES (1 << 3) -#define GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS (1 << 4) + +enum { + GIT_STATUS_OPT_INCLUDE_UNTRACKED = (1 << 0), + GIT_STATUS_OPT_INCLUDE_IGNORED = (1 << 1), + GIT_STATUS_OPT_INCLUDE_UNMODIFIED = (1 << 2), + GIT_STATUS_OPT_EXCLUDE_SUBMODULED = (1 << 3), + GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS = (1 << 4), +}; /** * Options to control how callbacks will be made by @@ -115,7 +121,7 @@ typedef struct { */ GIT_EXTERN(int) git_status_foreach_ext( git_repository *repo, - git_status_options *opts, + const git_status_options *opts, int (*callback)(const char *, unsigned int, void *), void *payload); @@ -127,9 +133,12 @@ GIT_EXTERN(int) git_status_foreach_ext( * @param path the file to retrieve status for, rooted at the repo's workdir * @return GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when * the file doesn't exist in any of HEAD, the index or the worktree, - * GIT_SUCCESS otherwise + * 0 otherwise */ -GIT_EXTERN(int) git_status_file(unsigned int *status_flags, git_repository *repo, const char *path); +GIT_EXTERN(int) git_status_file( + unsigned int *status_flags, + git_repository *repo, + const char *path); /** * Test if the ignore rules apply to a given file. @@ -139,13 +148,16 @@ GIT_EXTERN(int) git_status_file(unsigned int *status_flags, git_repository *repo * would be ignored regardless of whether the file is already in the index * or in the repository. * - * @param repo a repository object - * @param path the file to check ignores for, rooted at the repo's workdir * @param ignored boolean returning 0 if the file is not ignored, 1 if it is - * @return GIT_SUCCESS if the ignore rules could be processed for the file - * (regardless of whether it exists or not), or an error < 0 if they could not. + * @param repo a repository object + * @param path the file to check ignores for, rooted at the repo's workdir. + * @return 0 if ignore rules could be processed for the file (regardless + * of whether it exists or not), or an error < 0 if they could not. */ -GIT_EXTERN(int) git_status_should_ignore(git_repository *repo, const char *path, int *ignored); +GIT_EXTERN(int) git_status_should_ignore( + int *ignored, + git_repository *repo, + const char *path); /** @} */ GIT_END_DECL |
