Skip to content

Commit

Permalink
Move deny_non_fast_forwards handling completely into receive-pack.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Shawn Pearce authored and Junio C Hamano committed Oct 31, 2006
1 parent 79a6569 commit 6fb75be
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 4 deletions.
1 change: 0 additions & 1 deletion cache.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
1 change: 0 additions & 1 deletion environment.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
16 changes: 16 additions & 0 deletions receive-pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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 */
Expand Down
2 changes: 0 additions & 2 deletions setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down

0 comments on commit 6fb75be

Please sign in to comment.