Browse Source

Revert "rehabilitate 'git index-pack' inside the object store"

Now setup_git_directory_gently behaves sanely even from subdirs of
.git, so simplify index-pack by no longer protecting against that.

This reverts commit a672ea6ac5
(excluding tests).

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nguyễn Thái Ngọc Duy 15 years ago committed by Junio C Hamano
parent
commit
3f8099fce7
  1. 24
      builtin/index-pack.c

24
builtin/index-pack.c

@ -880,29 +880,15 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
char *index_name_buf = NULL, *keep_name_buf = NULL; char *index_name_buf = NULL, *keep_name_buf = NULL;
struct pack_idx_entry **idx_objects; struct pack_idx_entry **idx_objects;
unsigned char pack_sha1[20]; unsigned char pack_sha1[20];
int nongit;


if (argc == 2 && !strcmp(argv[1], "-h")) if (argc == 2 && !strcmp(argv[1], "-h"))
usage(index_pack_usage); usage(index_pack_usage);


/* prefix = setup_git_directory_gently(&nongit);
* We wish to read the repository's config file if any, and git_config(git_index_pack_config, NULL);
* for that it is necessary to call setup_git_directory_gently(). if (prefix && chdir(prefix))
* However if the cwd was inside .git/objects/pack/ then we need die("Cannot come back to cwd");
* 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");
}


for (i = 1; i < argc; i++) { for (i = 1; i < argc; i++) {
const char *arg = argv[i]; const char *arg = argv[i];

Loading…
Cancel
Save