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:
parent
79a65697be
commit
6fb75bed5c
1
cache.h
1
cache.h
@ -188,7 +188,6 @@ extern int prefer_symlink_refs;
|
|||||||
extern int log_all_ref_updates;
|
extern int log_all_ref_updates;
|
||||||
extern int warn_ambiguous_refs;
|
extern int warn_ambiguous_refs;
|
||||||
extern int shared_repository;
|
extern int shared_repository;
|
||||||
extern int deny_non_fast_forwards;
|
|
||||||
extern const char *apply_default_whitespace;
|
extern const char *apply_default_whitespace;
|
||||||
extern int zlib_compression_level;
|
extern int zlib_compression_level;
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@ int warn_ambiguous_refs = 1;
|
|||||||
int repository_format_version;
|
int repository_format_version;
|
||||||
char git_commit_encoding[MAX_ENCODING_LENGTH] = "utf-8";
|
char git_commit_encoding[MAX_ENCODING_LENGTH] = "utf-8";
|
||||||
int shared_repository = PERM_UMASK;
|
int shared_repository = PERM_UMASK;
|
||||||
int deny_non_fast_forwards = 0;
|
|
||||||
const char *apply_default_whitespace;
|
const char *apply_default_whitespace;
|
||||||
int zlib_compression_level = Z_DEFAULT_COMPRESSION;
|
int zlib_compression_level = Z_DEFAULT_COMPRESSION;
|
||||||
int pager_in_use;
|
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 const char *unpacker[] = { "unpack-objects", NULL };
|
||||||
|
|
||||||
|
static int deny_non_fast_forwards = 0;
|
||||||
static int report_status;
|
static int report_status;
|
||||||
|
|
||||||
static char capabilities[] = "report-status";
|
static char capabilities[] = "report-status";
|
||||||
static int capabilities_sent;
|
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)
|
static int show_ref(const char *path, const unsigned char *sha1)
|
||||||
{
|
{
|
||||||
if (capabilities_sent)
|
if (capabilities_sent)
|
||||||
@ -338,6 +352,8 @@ int main(int argc, char **argv)
|
|||||||
if(!enter_repo(dir, 0))
|
if(!enter_repo(dir, 0))
|
||||||
die("'%s': unable to chdir or not a git archive", dir);
|
die("'%s': unable to chdir or not a git archive", dir);
|
||||||
|
|
||||||
|
git_config(receive_pack_config);
|
||||||
|
|
||||||
write_head_info();
|
write_head_info();
|
||||||
|
|
||||||
/* EOF */
|
/* 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);
|
repository_format_version = git_config_int(var, value);
|
||||||
else if (strcmp(var, "core.sharedrepository") == 0)
|
else if (strcmp(var, "core.sharedrepository") == 0)
|
||||||
shared_repository = git_config_perm(var, value);
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user