From d834bac2f4731f307697a9d703244476226f7baa Mon Sep 17 00:00:00 2001 From: Squibid Date: Fri, 9 May 2025 13:37:36 -0500 Subject: [PATCH] minor improvements to speed --- XD.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/XD.c b/XD.c index 8c4c95e..81616cf 100644 --- a/XD.c +++ b/XD.c @@ -113,13 +113,12 @@ git_repository /* disable a bunch of git options to hopefully speed things up */ git_libgit2_opts(GIT_OPT_ENABLE_CACHING, 0); - git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_GLOBAL, ""); git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_XDG, ""); git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_SYSTEM, ""); git_libgit2_opts(GIT_OPT_SET_TEMPLATE_PATH, ""); - git_libgit2_opts(GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS, 1); + git_libgit2_opts(GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, 0); /* initialize the git library and repository */ if (git_libgit2_init() < 0) { @@ -177,9 +176,11 @@ has_untracked(git_repository *repo) git_status_list *list = NULL; int r = 0; - opts.show = GIT_STATUS_SHOW_INDEX_AND_WORKDIR; + /* FIXME: this is really slow in large git repos :( */ + opts.show = GIT_STATUS_SHOW_WORKDIR_ONLY; opts.flags = GIT_STATUS_OPT_INCLUDE_UNTRACKED | - GIT_STATUS_OPT_RENAMES_HEAD_TO_INDEX; + GIT_STATUS_OPT_RENAMES_HEAD_TO_INDEX | + GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH; if (git_status_list_new(&list, repo, &opts) < 0) { L("Error checking for untracked changes: %s", git_error_last()->message);