
Remove the_repository global variable in favor of the repository argument that gets passed in "builtin/update-server-info.c". When `-h` is passed to the command outside a Git repository, the `run_builtin()` will call the `cmd_update_server_info()` function with `repo` set to NULL and then early in the function, "parse_options()" call will give the options help and exit, without having to consult much of the configuration file. So it is safe to omit reading the config when `repo` argument the caller gave us is NULL. Mentored-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Usman Akinyemi <usmanakinyemi202@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
32 lines
739 B
C
32 lines
739 B
C
#include "builtin.h"
|
|
#include "config.h"
|
|
#include "gettext.h"
|
|
#include "parse-options.h"
|
|
#include "server-info.h"
|
|
|
|
static const char * const update_server_info_usage[] = {
|
|
"git update-server-info [-f | --force]",
|
|
NULL
|
|
};
|
|
|
|
int cmd_update_server_info(int argc,
|
|
const char **argv,
|
|
const char *prefix,
|
|
struct repository *repo)
|
|
{
|
|
int force = 0;
|
|
struct option options[] = {
|
|
OPT__FORCE(&force, N_("update the info files from scratch"), 0),
|
|
OPT_END()
|
|
};
|
|
|
|
if (repo)
|
|
repo_config(repo, git_default_config, NULL);
|
|
argc = parse_options(argc, argv, prefix, options,
|
|
update_server_info_usage, 0);
|
|
if (argc > 0)
|
|
usage_with_options(update_server_info_usage, options);
|
|
|
|
return !!update_server_info(repo, force);
|
|
}
|