use file_exists() to check if a file exists in the worktree

Call file_exists() instead of open-coding it.  That's shorter, simpler
and the intent becomes clearer.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2015-05-19 23:44:23 +02:00 committed by Junio C Hamano
parent aaa7e0d7f8
commit dbe44faadb
5 changed files with 9 additions and 22 deletions

View File

@ -26,6 +26,7 @@
#include "userdiff.h" #include "userdiff.h"
#include "line-range.h" #include "line-range.h"
#include "line-log.h" #include "line-log.h"
#include "dir.h"
static char blame_usage[] = N_("git blame [<options>] [<rev-opts>] [<rev>] [--] file"); static char blame_usage[] = N_("git blame [<options>] [<rev-opts>] [<rev>] [--] file");
@ -2151,16 +2152,6 @@ static void sanity_check_refcnt(struct scoreboard *sb)
} }
} }
/*
* Used for the command line parsing; check if the path exists
* in the working tree.
*/
static int has_string_in_work_tree(const char *path)
{
struct stat st;
return !lstat(path, &st);
}
static unsigned parse_score(const char *arg) static unsigned parse_score(const char *arg)
{ {
char *end; char *end;
@ -2655,14 +2646,14 @@ parse_done:
if (argc < 2) if (argc < 2)
usage_with_options(blame_opt_usage, options); usage_with_options(blame_opt_usage, options);
path = add_prefix(prefix, argv[argc - 1]); path = add_prefix(prefix, argv[argc - 1]);
if (argc == 3 && !has_string_in_work_tree(path)) { /* (2b) */ if (argc == 3 && !file_exists(path)) { /* (2b) */
path = add_prefix(prefix, argv[1]); path = add_prefix(prefix, argv[1]);
argv[1] = argv[2]; argv[1] = argv[2];
} }
argv[argc - 1] = "--"; argv[argc - 1] = "--";
setup_work_tree(); setup_work_tree();
if (!has_string_in_work_tree(path)) if (!file_exists(path))
die_errno("cannot stat path '%s'", path); die_errno("cannot stat path '%s'", path);
} }

View File

@ -84,7 +84,6 @@ static int check_submodules_use_gitfiles(void)
const char *name = list.entry[i].name; const char *name = list.entry[i].name;
int pos; int pos;
const struct cache_entry *ce; const struct cache_entry *ce;
struct stat st;
pos = cache_name_pos(name, strlen(name)); pos = cache_name_pos(name, strlen(name));
if (pos < 0) { if (pos < 0) {
@ -95,7 +94,7 @@ static int check_submodules_use_gitfiles(void)
ce = active_cache[pos]; ce = active_cache[pos];
if (!S_ISGITLINK(ce->ce_mode) || if (!S_ISGITLINK(ce->ce_mode) ||
(lstat(ce->name, &st) < 0) || !file_exists(ce->name) ||
is_empty_dir(name)) is_empty_dir(name))
continue; continue;

View File

@ -611,7 +611,6 @@ static char *unique_path(struct merge_options *o, const char *path, const char *
{ {
struct strbuf newpath = STRBUF_INIT; struct strbuf newpath = STRBUF_INIT;
int suffix = 0; int suffix = 0;
struct stat st;
size_t base_len; size_t base_len;
strbuf_addf(&newpath, "%s~", path); strbuf_addf(&newpath, "%s~", path);
@ -620,7 +619,7 @@ static char *unique_path(struct merge_options *o, const char *path, const char *
base_len = newpath.len; base_len = newpath.len;
while (string_list_has_string(&o->current_file_set, newpath.buf) || while (string_list_has_string(&o->current_file_set, newpath.buf) ||
string_list_has_string(&o->current_directory_set, newpath.buf) || string_list_has_string(&o->current_directory_set, newpath.buf) ||
lstat(newpath.buf, &st) == 0) { file_exists(newpath.buf)) {
strbuf_setlen(&newpath, base_len); strbuf_setlen(&newpath, base_len);
strbuf_addf(&newpath, "_%d", suffix++); strbuf_addf(&newpath, "_%d", suffix++);
} }

View File

@ -6,6 +6,7 @@
#include "tree-walk.h" #include "tree-walk.h"
#include "refs.h" #include "refs.h"
#include "remote.h" #include "remote.h"
#include "dir.h"
static int get_sha1_oneline(const char *, unsigned char *, struct commit_list *); static int get_sha1_oneline(const char *, unsigned char *, struct commit_list *);
@ -1237,14 +1238,13 @@ static void diagnose_invalid_sha1_path(const char *prefix,
const char *object_name, const char *object_name,
int object_name_len) int object_name_len)
{ {
struct stat st;
unsigned char sha1[20]; unsigned char sha1[20];
unsigned mode; unsigned mode;
if (!prefix) if (!prefix)
prefix = ""; prefix = "";
if (!lstat(filename, &st)) if (file_exists(filename))
die("Path '%s' exists on disk, but not in '%.*s'.", die("Path '%s' exists on disk, but not in '%.*s'.",
filename, object_name_len, object_name); filename, object_name_len, object_name);
if (errno == ENOENT || errno == ENOTDIR) { if (errno == ENOENT || errno == ENOTDIR) {
@ -1271,7 +1271,6 @@ static void diagnose_invalid_index_path(int stage,
const char *prefix, const char *prefix,
const char *filename) const char *filename)
{ {
struct stat st;
const struct cache_entry *ce; const struct cache_entry *ce;
int pos; int pos;
unsigned namelen = strlen(filename); unsigned namelen = strlen(filename);
@ -1314,7 +1313,7 @@ static void diagnose_invalid_index_path(int stage,
ce_stage(ce), filename); ce_stage(ce), filename);
} }
if (!lstat(filename, &st)) if (file_exists(filename))
die("Path '%s' exists on disk, but not in the index.", filename); die("Path '%s' exists on disk, but not in the index.", filename);
if (errno == ENOENT || errno == ENOTDIR) if (errno == ENOENT || errno == ENOTDIR)
die("Path '%s' does not exist (neither on disk nor in the index).", die("Path '%s' does not exist (neither on disk nor in the index).",

View File

@ -891,7 +891,6 @@ int submodule_uses_gitfile(const char *path)
int ok_to_remove_submodule(const char *path) int ok_to_remove_submodule(const char *path)
{ {
struct stat st;
ssize_t len; ssize_t len;
struct child_process cp = CHILD_PROCESS_INIT; struct child_process cp = CHILD_PROCESS_INIT;
const char *argv[] = { const char *argv[] = {
@ -904,7 +903,7 @@ int ok_to_remove_submodule(const char *path)
struct strbuf buf = STRBUF_INIT; struct strbuf buf = STRBUF_INIT;
int ok_to_remove = 1; int ok_to_remove = 1;
if ((lstat(path, &st) < 0) || is_empty_dir(path)) if (!file_exists(path) || is_empty_dir(path))
return 1; return 1;
if (!submodule_uses_gitfile(path)) if (!submodule_uses_gitfile(path))