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:
parent
aaa7e0d7f8
commit
dbe44faadb
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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++);
|
||||||
}
|
}
|
||||||
|
@ -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).",
|
||||||
|
@ -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))
|
||||||
|
Loading…
Reference in New Issue
Block a user