Johannes Sixt <j.sixt@xxxxxxxxxxxxx> writes: > It might be worth it. We already have a similar special case in > write_or_die.c:maybe_flush_or_die() for Windows, although it is not about > a colon in a path name. > > Perhaps like this. Hrm, the "we already have" one b2f5e26 (Windows: Work around an oddity when a pipe with no reader is written to., 2007-08-17) was what you added while I was looking the other way ;-) as a part of Windows specific pull. That change, and this patch, seem to cover the cases to be ignored with a bit too wide a net to my taste. On other systems, and even on Windows if the path does not have any colon, EINVAL is something we would want to notice and report, as a potential problem, no? > --- 8< --- > From: Johannes Sixt <j6t@xxxxxxxx> > Subject: [PATCH] attr: do not warn on path with colon on Windows > > In the same spirit as commit 8e950dab (attr: failure to open a > .gitattributes file is OK with ENOTDIR), ignore EINVAL errors. On > Windows, a path that contains a colon that is not the one after the > drive letter is not allowed and is reported with errno set to > EINVAL. > > Signed-off-by: Johannes Sixt <j6t@xxxxxxxx> > --- > attr.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/attr.c b/attr.c > index 8010429..ac945ad 100644 > --- a/attr.c > +++ b/attr.c > @@ -354,7 +354,15 @@ static struct attr_stack *read_attr_from_file(const char *path, int macro_ok) > int lineno = 0; > > if (!fp) { > - if (errno != ENOENT && errno != ENOTDIR) > + /* > + * If path does not exist, it is not worth mentioning, > + * but I/O errors and permission errors are. > + * > + * On Windows, EINVAL is reported if path contains a colon > + * that is not the driver letter separator. Such a path > + * cannot exist in the file system and is also uninteresting. > + */ > + if (errno != ENOENT && errno != ENOTDIR && errno != EINVAL) > warn_on_inaccessible(path); > return NULL; > } -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html