summaryrefslogtreecommitdiff
path: root/include/git2/status.h
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2014-04-28 16:39:53 -0700
committerRussell Belfer <rb@github.com>2014-05-02 09:21:33 -0700
commitcd424ad5518c7cfbba10a764d7bc097377ec3995 (patch)
tree1550287498b398515c12cc24c5f974d8ba2dcc45 /include/git2/status.h
parent94fb4aadc80c927a59696dc01db03f3a0629dae7 (diff)
downloadlibgit2-cd424ad5518c7cfbba10a764d7bc097377ec3995.tar.gz
Add GIT_STATUS_OPT_UPDATE_INDEX and use trace API
This adds an option to refresh the stat cache while generating status. It also rips out the GIT_PERF stuff I had an makes use of the trace API to keep statistics about what happens during diff.
Diffstat (limited to 'include/git2/status.h')
-rw-r--r--include/git2/status.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/git2/status.h b/include/git2/status.h
index 6af45c7dd..ee2f33287 100644
--- a/include/git2/status.h
+++ b/include/git2/status.h
@@ -121,6 +121,11 @@ typedef enum {
* - GIT_STATUS_OPT_NO_REFRESH bypasses the default status behavior of
* doing a "soft" index reload (i.e. reloading the index data if the
* file on disk has been modified outside libgit2).
+ * - GIT_STATUS_OPT_UPDATE_INDEX tells libgit2 to refresh the stat cache
+ * in the index for files that are unchanged but have out of date stat
+ * information in the index. It will result in less work being done on
+ * subsequent calls to get status. This is mutually exclusive with the
+ * NO_REFRESH option.
*
* Calling `git_status_foreach()` is like calling the extended version
* with: GIT_STATUS_OPT_INCLUDE_IGNORED, GIT_STATUS_OPT_INCLUDE_UNTRACKED,
@@ -141,6 +146,7 @@ typedef enum {
GIT_STATUS_OPT_SORT_CASE_INSENSITIVELY = (1u << 10),
GIT_STATUS_OPT_RENAMES_FROM_REWRITES = (1u << 11),
GIT_STATUS_OPT_NO_REFRESH = (1u << 12),
+ GIT_STATUS_OPT_UPDATE_INDEX = (1u << 13),
} git_status_opt_t;
#define GIT_STATUS_OPT_DEFAULTS \