Merge branch 'jc/report-path-error-to-dir' into maint
Code clean-up. * jc/report-path-error-to-dir: report_path_error(): move to dir.c
This commit is contained in:
commit
ab0fb57aac
@ -354,49 +354,6 @@ void overlay_tree_on_cache(const char *tree_name, const char *prefix)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int report_path_error(const char *ps_matched,
|
|
||||||
const struct pathspec *pathspec,
|
|
||||||
const char *prefix)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Make sure all pathspec matched; otherwise it is an error.
|
|
||||||
*/
|
|
||||||
struct strbuf sb = STRBUF_INIT;
|
|
||||||
int num, errors = 0;
|
|
||||||
for (num = 0; num < pathspec->nr; num++) {
|
|
||||||
int other, found_dup;
|
|
||||||
|
|
||||||
if (ps_matched[num])
|
|
||||||
continue;
|
|
||||||
/*
|
|
||||||
* The caller might have fed identical pathspec
|
|
||||||
* twice. Do not barf on such a mistake.
|
|
||||||
* FIXME: parse_pathspec should have eliminated
|
|
||||||
* duplicate pathspec.
|
|
||||||
*/
|
|
||||||
for (found_dup = other = 0;
|
|
||||||
!found_dup && other < pathspec->nr;
|
|
||||||
other++) {
|
|
||||||
if (other == num || !ps_matched[other])
|
|
||||||
continue;
|
|
||||||
if (!strcmp(pathspec->items[other].original,
|
|
||||||
pathspec->items[num].original))
|
|
||||||
/*
|
|
||||||
* Ok, we have a match already.
|
|
||||||
*/
|
|
||||||
found_dup = 1;
|
|
||||||
}
|
|
||||||
if (found_dup)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
error("pathspec '%s' did not match any file(s) known to git.",
|
|
||||||
pathspec->items[num].original);
|
|
||||||
errors++;
|
|
||||||
}
|
|
||||||
strbuf_release(&sb);
|
|
||||||
return errors;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const char * const ls_files_usage[] = {
|
static const char * const ls_files_usage[] = {
|
||||||
N_("git ls-files [options] [<file>...]"),
|
N_("git ls-files [options] [<file>...]"),
|
||||||
NULL
|
NULL
|
||||||
|
1
cache.h
1
cache.h
@ -1577,7 +1577,6 @@ extern int ws_blank_line(const char *line, int len, unsigned ws_rule);
|
|||||||
#define ws_tab_width(rule) ((rule) & WS_TAB_WIDTH_MASK)
|
#define ws_tab_width(rule) ((rule) & WS_TAB_WIDTH_MASK)
|
||||||
|
|
||||||
/* ls-files */
|
/* ls-files */
|
||||||
int report_path_error(const char *ps_matched, const struct pathspec *pathspec, const char *prefix);
|
|
||||||
void overlay_tree_on_cache(const char *tree_name, const char *prefix);
|
void overlay_tree_on_cache(const char *tree_name, const char *prefix);
|
||||||
|
|
||||||
char *alias_lookup(const char *alias);
|
char *alias_lookup(const char *alias);
|
||||||
|
43
dir.c
43
dir.c
@ -377,6 +377,49 @@ int match_pathspec(const struct pathspec *ps,
|
|||||||
return negative ? 0 : positive;
|
return negative ? 0 : positive;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int report_path_error(const char *ps_matched,
|
||||||
|
const struct pathspec *pathspec,
|
||||||
|
const char *prefix)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Make sure all pathspec matched; otherwise it is an error.
|
||||||
|
*/
|
||||||
|
struct strbuf sb = STRBUF_INIT;
|
||||||
|
int num, errors = 0;
|
||||||
|
for (num = 0; num < pathspec->nr; num++) {
|
||||||
|
int other, found_dup;
|
||||||
|
|
||||||
|
if (ps_matched[num])
|
||||||
|
continue;
|
||||||
|
/*
|
||||||
|
* The caller might have fed identical pathspec
|
||||||
|
* twice. Do not barf on such a mistake.
|
||||||
|
* FIXME: parse_pathspec should have eliminated
|
||||||
|
* duplicate pathspec.
|
||||||
|
*/
|
||||||
|
for (found_dup = other = 0;
|
||||||
|
!found_dup && other < pathspec->nr;
|
||||||
|
other++) {
|
||||||
|
if (other == num || !ps_matched[other])
|
||||||
|
continue;
|
||||||
|
if (!strcmp(pathspec->items[other].original,
|
||||||
|
pathspec->items[num].original))
|
||||||
|
/*
|
||||||
|
* Ok, we have a match already.
|
||||||
|
*/
|
||||||
|
found_dup = 1;
|
||||||
|
}
|
||||||
|
if (found_dup)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
error("pathspec '%s' did not match any file(s) known to git.",
|
||||||
|
pathspec->items[num].original);
|
||||||
|
errors++;
|
||||||
|
}
|
||||||
|
strbuf_release(&sb);
|
||||||
|
return errors;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return the length of the "simple" part of a path match limiter.
|
* Return the length of the "simple" part of a path match limiter.
|
||||||
*/
|
*/
|
||||||
|
1
dir.h
1
dir.h
@ -137,6 +137,7 @@ extern char *common_prefix(const struct pathspec *pathspec);
|
|||||||
extern int match_pathspec(const struct pathspec *pathspec,
|
extern int match_pathspec(const struct pathspec *pathspec,
|
||||||
const char *name, int namelen,
|
const char *name, int namelen,
|
||||||
int prefix, char *seen, int is_dir);
|
int prefix, char *seen, int is_dir);
|
||||||
|
extern int report_path_error(const char *ps_matched, const struct pathspec *pathspec, const char *prefix);
|
||||||
extern int within_depth(const char *name, int namelen, int depth, int max_depth);
|
extern int within_depth(const char *name, int namelen, int depth, int max_depth);
|
||||||
|
|
||||||
extern int fill_directory(struct dir_struct *dir, const struct pathspec *pathspec);
|
extern int fill_directory(struct dir_struct *dir, const struct pathspec *pathspec);
|
||||||
|
Loading…
Reference in New Issue
Block a user