repack: call prune_packed_objects() and update_server_info() directly

Call the functions behind git prune-packed and git update-server-info
directly instead of using run_command().  This is shorter, easier and
quicker.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2014-09-13 09:28:01 +02:00 коммит произвёл Junio C Hamano
Родитель 3907a4078a
Коммит 4489a480fd
1 изменённых файлов: 6 добавлений и 17 удалений

Просмотреть файл

@ -378,6 +378,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
/* End of pack replacement. */ /* End of pack replacement. */
if (delete_redundant) { if (delete_redundant) {
int opts = 0;
sort_string_list(&names); sort_string_list(&names);
for_each_string_list_item(item, &existing_packs) { for_each_string_list_item(item, &existing_packs) {
char *sha1; char *sha1;
@ -388,25 +389,13 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
if (!string_list_has_string(&names, sha1)) if (!string_list_has_string(&names, sha1))
remove_redundant_pack(packdir, item->string); remove_redundant_pack(packdir, item->string);
} }
argv_array_push(&cmd_args, "prune-packed"); if (!quiet && isatty(2))
if (quiet) opts |= PRUNE_PACKED_VERBOSE;
argv_array_push(&cmd_args, "--quiet"); prune_packed_objects(opts);
memset(&cmd, 0, sizeof(cmd));
cmd.argv = cmd_args.argv;
cmd.git_cmd = 1;
run_command(&cmd);
argv_array_clear(&cmd_args);
} }
if (!no_update_server_info) { if (!no_update_server_info)
argv_array_push(&cmd_args, "update-server-info"); update_server_info(0);
memset(&cmd, 0, sizeof(cmd));
cmd.argv = cmd_args.argv;
cmd.git_cmd = 1;
run_command(&cmd);
argv_array_clear(&cmd_args);
}
remove_temporary_files(); remove_temporary_files();
string_list_clear(&names, 0); string_list_clear(&names, 0);
string_list_clear(&rollback, 0); string_list_clear(&rollback, 0);