index-pack: run setup_git_directory_gently() sooner
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Fri, 6 Aug 2010 03:18:53 +0000 (22:18 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 16 Aug 2010 03:00:02 +0000 (20:00 -0700)
index-pack already runs a repository search unconditionally; running
such a search earlier is not risky and ensures GIT_DIR will be set
correctly if the configuration needs to be accessed from
run_builtin().

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/index-pack.c
git.c

index 89a1f12d615bb997bd992abba61da712def3ea44..e852890862e12c9ebeec087e6ada6fde59a75efc 100644 (file)
@@ -880,12 +880,10 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
        char *index_name_buf = NULL, *keep_name_buf = NULL;
        struct pack_idx_entry **idx_objects;
        unsigned char pack_sha1[20];
-       int nongit;
 
        if (argc == 2 && !strcmp(argv[1], "-h"))
                usage(index_pack_usage);
 
-       prefix = setup_git_directory_gently(&nongit);
        git_config(git_index_pack_config, NULL);
        if (prefix && chdir(prefix))
                die("Cannot come back to cwd");
diff --git a/git.c b/git.c
index eaf6e7f87d74d8ee4da20e4dd7448b08367d0fce..982406839c976cc8e7d01bacc99d21a31be25584 100644 (file)
--- a/git.c
+++ b/git.c
@@ -339,7 +339,7 @@ static void handle_internal_command(int argc, const char **argv)
                { "grep", cmd_grep, RUN_SETUP_GENTLY },
                { "hash-object", cmd_hash_object },
                { "help", cmd_help },
-               { "index-pack", cmd_index_pack },
+               { "index-pack", cmd_index_pack, RUN_SETUP_GENTLY },
                { "init", cmd_init_db },
                { "init-db", cmd_init_db },
                { "log", cmd_log, RUN_SETUP | USE_PAGER },