diff options
Diffstat (limited to 'XD.c')
-rw-r--r-- | XD.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -188,9 +188,13 @@ has_staged(git_repository *repo) { git_status_entry entry; git_status_list *list = NULL; + git_status_options opts = GIT_STATUS_OPTIONS_INIT; int i, c, r = 0; - if (git_status_list_new(&list, repo, NULL) < 0) { + opts.flags = GIT_STATUS_INDEX_NEW; + opts.show = GIT_STATUS_SHOW_INDEX_ONLY; + + if (git_status_list_new(&list, repo, &opts) < 0) { L("Error checking for staged changes: %s", git_error_last()->message); return 0; } @@ -200,9 +204,9 @@ has_staged(git_repository *repo) for (i = 0; i < c; i++) { entry = *git_status_byindex(list, i); - if (entry.status & GIT_STATUS_INDEX_NEW - || entry.status & GIT_STATUS_INDEX_DELETED - || entry.status & GIT_STATUS_INDEX_MODIFIED) { + if (entry.status & (GIT_STATUS_INDEX_NEW + | GIT_STATUS_INDEX_DELETED + | GIT_STATUS_INDEX_MODIFIED)) { r = 1; break; } |