Always set *nongit_ok in setup_git_directory_gently()

setup_git_directory_gently() only modified the value of its *nongit_ok
argument if we were not in a git repository.  Now it will always set it
to 0 when we are inside a repository.

Also remove now unnecessary initializations in the callers of this
function.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
SZEDER Gábor 2008-03-25 22:06:26 +01:00 коммит произвёл Junio C Hamano
Родитель 660b9c3a4e
Коммит af05d67939
8 изменённых файлов: 16 добавлений и 8 удалений

Просмотреть файл

@ -2994,7 +2994,7 @@ int cmd_apply(int argc, const char **argv, const char *unused_prefix)
int read_stdin = 1; int read_stdin = 1;
int inaccurate_eof = 0; int inaccurate_eof = 0;
int errs = 0; int errs = 0;
int is_not_gitdir = 0; int is_not_gitdir;
const char *whitespace_option = NULL; const char *whitespace_option = NULL;

Просмотреть файл

@ -14,7 +14,7 @@ static const char *bundle_usage="git-bundle (create <bundle> <git-rev-list args>
int cmd_bundle(int argc, const char **argv, const char *prefix) int cmd_bundle(int argc, const char **argv, const char *prefix)
{ {
struct bundle_header header; struct bundle_header header;
int nongit = 0; int nongit;
const char *cmd, *bundle_file; const char *cmd, *bundle_file;
int bundle_fd = -1; int bundle_fd = -1;
char buffer[PATH_MAX]; char buffer[PATH_MAX];

Просмотреть файл

@ -264,7 +264,7 @@ static int get_colorbool(int argc, const char **argv)
int cmd_config(int argc, const char **argv, const char *prefix) int cmd_config(int argc, const char **argv, const char *prefix)
{ {
int nongit = 0; int nongit;
char* value; char* value;
const char *file = setup_git_directory_gently(&nongit); const char *file = setup_git_directory_gently(&nongit);

Просмотреть файл

@ -16,7 +16,7 @@ COMMON_DIFF_OPTIONS_HELP;
int cmd_diff_files(int argc, const char **argv, const char *prefix) int cmd_diff_files(int argc, const char **argv, const char *prefix)
{ {
struct rev_info rev; struct rev_info rev;
int nongit = 0; int nongit;
int result; int result;
prefix = setup_git_directory_gently(&nongit); prefix = setup_git_directory_gently(&nongit);

Просмотреть файл

@ -210,7 +210,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
int ents = 0, blobs = 0, paths = 0; int ents = 0, blobs = 0, paths = 0;
const char *path = NULL; const char *path = NULL;
struct blobinfo blob[2]; struct blobinfo blob[2];
int nongit = 0; int nongit;
int result = 0; int result = 0;
/* /*

Просмотреть файл

@ -31,7 +31,7 @@ int cmd_ls_remote(int argc, const char **argv, const char *prefix)
{ {
int i; int i;
const char *dest = NULL; const char *dest = NULL;
int nongit = 0; int nongit;
unsigned flags = 0; unsigned flags = 0;
const char *uploadpack = NULL; const char *uploadpack = NULL;
const char **pattern = NULL; const char **pattern = NULL;

4
git.c
Просмотреть файл

@ -142,14 +142,14 @@ static int split_cmdline(char *cmdline, const char ***argv)
static int handle_alias(int *argcp, const char ***argv) static int handle_alias(int *argcp, const char ***argv)
{ {
int nongit = 0, envchanged = 0, ret = 0, saved_errno = errno; int envchanged = 0, ret = 0, saved_errno = errno;
const char *subdir; const char *subdir;
int count, option_count; int count, option_count;
const char** new_argv; const char** new_argv;
const char *alias_command; const char *alias_command;
char *alias_string; char *alias_string;
subdir = setup_git_directory_gently(&nongit); subdir = setup_git_directory_gently(NULL);
alias_command = (*argv)[0]; alias_command = (*argv)[0];
alias_string = alias_lookup(alias_command); alias_string = alias_lookup(alias_command);

Просмотреть файл

@ -325,6 +325,14 @@ const char *setup_git_directory_gently(int *nongit_ok)
const char *gitdirenv; const char *gitdirenv;
int len, offset; int len, offset;
/*
* Let's assume that we are in a git repository.
* If it turns out later that we are somewhere else, the value will be
* updated accordingly.
*/
if (nongit_ok)
*nongit_ok = 0;
/* /*
* If GIT_DIR is set explicitly, we're not going * If GIT_DIR is set explicitly, we're not going
* to do any discovery, but we still do repository * to do any discovery, but we still do repository