Jeff King [off-list ref] writes:
On Thu, Apr 21, 2016 at 10:23:09AM -0400, Eric Sunshine wrote:
quoted
quoted
While we're at it, how about renaming it to pathcmp (and its friend
strncmp_icase to pathncmp)?
Yes, that seems like a good idea. For anyone familiar with
strcasecmp() or stricmp(), having "icase" in the name makes it seem as
though it's unconditionally case-insensitive, so dropping it from the
name would likely be beneficial.
Seconded (thirded?). I have been caught by this confusion in the past,
too.
I agree that strcmp_icase() gives a false impression that it always
ignores case differences, but a new name that does not at all hint
that it may do icase comparison as necessary will catch me by an
opposite confusion in the future.
I have not yet formed a firm opinion if pathcmp() conveys enough
hint.
On Thu, Apr 21, 2016 at 08:37:32AM -0700, Junio C Hamano wrote:
quoted
quoted
quoted
While we're at it, how about renaming it to pathcmp (and its friend
strncmp_icase to pathncmp)?
Yes, that seems like a good idea. For anyone familiar with
strcasecmp() or stricmp(), having "icase" in the name makes it seem as
though it's unconditionally case-insensitive, so dropping it from the
name would likely be beneficial.
Seconded (thirded?). I have been caught by this confusion in the past,
too.
I agree that strcmp_icase() gives a false impression that it always
ignores case differences, but a new name that does not at all hint
that it may do icase comparison as necessary will catch me by an
opposite confusion in the future.
To me, the benefit is that you don't have to care about ignore_case. You
have asked to compare two paths, and any system-appropriate magic should
be applied. That may be icase, or it may be weird unicode normalization.
I think the key thing missing is that this is only about _filesystem_
paths. You would not want to use it for tree-to-tree pathname
comparisons. So maybe "fspath" or something would be more descriptive.
-Peff