sha1-name.c: remove the_repo from diagnose_invalid_index_path()
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c931ba4e78
commit
0488481e79
8
dir.c
8
dir.c
@ -2315,6 +2315,14 @@ int file_exists(const char *f)
|
||||
return lstat(f, &sb) == 0;
|
||||
}
|
||||
|
||||
int repo_file_exists(struct repository *repo, const char *path)
|
||||
{
|
||||
if (repo != the_repository)
|
||||
BUG("do not know how to check file existence in arbitrary repo");
|
||||
|
||||
return file_exists(path);
|
||||
}
|
||||
|
||||
static int cmp_icase(char a, char b)
|
||||
{
|
||||
if (a == b)
|
||||
|
4
dir.h
4
dir.h
@ -269,7 +269,9 @@ extern void add_exclude(const char *string, const char *base,
|
||||
int baselen, struct exclude_list *el, int srcpos);
|
||||
extern void clear_exclude_list(struct exclude_list *el);
|
||||
extern void clear_directory(struct dir_struct *dir);
|
||||
extern int file_exists(const char *);
|
||||
|
||||
int repo_file_exists(struct repository *repo, const char *path);
|
||||
int file_exists(const char *);
|
||||
|
||||
extern int is_inside_dir(const char *dir);
|
||||
extern int dir_inside_of(const char *subdir, const char *dir);
|
||||
|
@ -1664,11 +1664,12 @@ static void diagnose_invalid_oid_path(const char *prefix,
|
||||
}
|
||||
|
||||
/* Must be called only when :stage:filename doesn't exist. */
|
||||
static void diagnose_invalid_index_path(struct index_state *istate,
|
||||
static void diagnose_invalid_index_path(struct repository *r,
|
||||
int stage,
|
||||
const char *prefix,
|
||||
const char *filename)
|
||||
{
|
||||
struct index_state *istate = r->index;
|
||||
const struct cache_entry *ce;
|
||||
int pos;
|
||||
unsigned namelen = strlen(filename);
|
||||
@ -1708,7 +1709,7 @@ static void diagnose_invalid_index_path(struct index_state *istate,
|
||||
ce_stage(ce), filename);
|
||||
}
|
||||
|
||||
if (file_exists(filename))
|
||||
if (repo_file_exists(r, filename))
|
||||
die("Path '%s' exists on disk, but not in the index.", filename);
|
||||
if (is_missing_file_error(errno))
|
||||
die("Path '%s' does not exist (neither on disk nor in the index).",
|
||||
@ -1814,7 +1815,7 @@ static enum get_oid_result get_oid_with_context_1(struct repository *repo,
|
||||
pos++;
|
||||
}
|
||||
if (only_to_die && name[1] && name[1] != '/')
|
||||
diagnose_invalid_index_path(repo->index, stage, prefix, cp);
|
||||
diagnose_invalid_index_path(repo, stage, prefix, cp);
|
||||
free(new_path);
|
||||
return -1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user