Junio C Hamano <gitster@xxxxxxxxx> writes: >> + if (!strcasecmp(urls->v[i], remote_url)) >> + return 1; > > This is iffy. The <schema>://<host>/ part might want to be compared > case insensitively, but the rest of the URL is generally case > sensitive (unless the material served is stored on a machine with > case-insensitive filesystem)? > > Given that the existing URL must have come by either cloning from > this server or another related server or by an earlier > acceptFromServer behaviour, I do not see a need for being extra lax > here. We should be more careful about our use of case-insensitive > comparison, and I do not see how this URL comparison could be > something the end users would expect to be done case insensitively. Note that I am not advocating to compare the earlier part case insensitively while comparing the remainder case sensitively. Because we are not comparing URLs that come from random sources, but we know they come from a only few very controlled sources (i.e., the original server we cloned from, and the promisor remotes sugggested by the original server and other promisor remotes whose suggestion we accepted, recursively), it should be sufficient to compare the whole string case sensitively. Thanks.