Files
git/builtin/prune-packed.c
Johannes Schindelin 09cd418077 mingw: ensure that core.longPaths is handled *always*
A ton of Git commands simply do not read (or at least parse) the core.*
settings. This is not good, as Git for Windows relies on the
core.longPaths setting to be read quite early on.

So let's just make sure that all commands read the config and give
platform_core_config() a chance.

This patch teaches tons of Git commands to respect the config setting
`core.longPaths = true`, including `pack-refs`, thereby fixing
https://github.com/git-for-windows/git/issues/1218

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2020-12-14 22:32:51 +01:00

34 lines
849 B
C

#include "builtin.h"
#include "parse-options.h"
#include "prune-packed.h"
#include "config.h"
static const char * const prune_packed_usage[] = {
N_("git prune-packed [-n | --dry-run] [-q | --quiet]"),
NULL
};
int cmd_prune_packed(int argc, const char **argv, const char *prefix)
{
int opts = isatty(2) ? PRUNE_PACKED_VERBOSE : 0;
const struct option prune_packed_options[] = {
OPT_BIT('n', "dry-run", &opts, N_("dry run"),
PRUNE_PACKED_DRY_RUN),
OPT_NEGBIT('q', "quiet", &opts, N_("be quiet"),
PRUNE_PACKED_VERBOSE),
OPT_END()
};
git_config(git_default_config, NULL);
argc = parse_options(argc, argv, prefix, prune_packed_options,
prune_packed_usage, 0);
if (argc > 0)
usage_msg_opt(_("too many arguments"),
prune_packed_usage,
prune_packed_options);
prune_packed_objects(opts);
return 0;
}