зеркало из https://github.com/microsoft/git.git
Move deny_non_fast_forwards handling completely into receive-pack.
The 'receive.denynonfastforwards' option has nothing to do with the repository format version. Since receive-pack already uses git_config to initialize itself before executing any updates we can use the normal configuration strategy and isolate the receive specific variables away from the core variables. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
79a65697be
Коммит
6fb75bed5c
1
cache.h
1
cache.h
|
@ -188,7 +188,6 @@ extern int prefer_symlink_refs;
|
|||
extern int log_all_ref_updates;
|
||||
extern int warn_ambiguous_refs;
|
||||
extern int shared_repository;
|
||||
extern int deny_non_fast_forwards;
|
||||
extern const char *apply_default_whitespace;
|
||||
extern int zlib_compression_level;
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@ int warn_ambiguous_refs = 1;
|
|||
int repository_format_version;
|
||||
char git_commit_encoding[MAX_ENCODING_LENGTH] = "utf-8";
|
||||
int shared_repository = PERM_UMASK;
|
||||
int deny_non_fast_forwards = 0;
|
||||
const char *apply_default_whitespace;
|
||||
int zlib_compression_level = Z_DEFAULT_COMPRESSION;
|
||||
int pager_in_use;
|
||||
|
|
|
@ -9,11 +9,25 @@ static const char receive_pack_usage[] = "git-receive-pack <git-dir>";
|
|||
|
||||
static const char *unpacker[] = { "unpack-objects", NULL };
|
||||
|
||||
static int deny_non_fast_forwards = 0;
|
||||
static int report_status;
|
||||
|
||||
static char capabilities[] = "report-status";
|
||||
static int capabilities_sent;
|
||||
|
||||
static int receive_pack_config(const char *var, const char *value)
|
||||
{
|
||||
git_default_config(var, value);
|
||||
|
||||
if (strcmp(var, "receive.denynonfastforwards") == 0)
|
||||
{
|
||||
deny_non_fast_forwards = git_config_bool(var, value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int show_ref(const char *path, const unsigned char *sha1)
|
||||
{
|
||||
if (capabilities_sent)
|
||||
|
@ -338,6 +352,8 @@ int main(int argc, char **argv)
|
|||
if(!enter_repo(dir, 0))
|
||||
die("'%s': unable to chdir or not a git archive", dir);
|
||||
|
||||
git_config(receive_pack_config);
|
||||
|
||||
write_head_info();
|
||||
|
||||
/* EOF */
|
||||
|
|
2
setup.c
2
setup.c
|
@ -244,8 +244,6 @@ int check_repository_format_version(const char *var, const char *value)
|
|||
repository_format_version = git_config_int(var, value);
|
||||
else if (strcmp(var, "core.sharedrepository") == 0)
|
||||
shared_repository = git_config_perm(var, value);
|
||||
else if (strcmp(var, "receive.denynonfastforwards") == 0)
|
||||
deny_non_fast_forwards = git_config_bool(var, value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче