Code

Merge branch 'os/fix-rebase-diff-no-prefix'
[git.git] / builtin / index-pack.c
index fad76bf7a84a6a103de20732752119d5245e9638..2e680d7a7ac3495c9d6bd10e0fa6a6ae28bb8670 100644 (file)
@@ -886,25 +886,9 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
 
        read_replace_refs = 0;
 
-       /*
-        * We wish to read the repository's config file if any, and
-        * for that it is necessary to call setup_git_directory_gently().
-        * However if the cwd was inside .git/objects/pack/ then we need
-        * to go back there or all the pack name arguments will be wrong.
-        * And in that case we cannot rely on any prefix returned by
-        * setup_git_directory_gently() either.
-        */
-       {
-               char cwd[PATH_MAX+1];
-               int nongit;
-
-               if (!getcwd(cwd, sizeof(cwd)-1))
-                       die("Unable to get current working directory");
-               setup_git_directory_gently(&nongit);
-               git_config(git_index_pack_config, NULL);
-               if (chdir(cwd))
-                       die("Cannot come back to cwd");
-       }
+       git_config(git_index_pack_config, NULL);
+       if (prefix && chdir(prefix))
+               die("Cannot come back to cwd");
 
        for (i = 1; i < argc; i++) {
                const char *arg = argv[i];