Jeff King <peff@xxxxxxxx> writes: > +/* > + * We anonymize each component of a path individually, > + * so that paths a/b and a/c will share a common root. > + * The paths are cached via anonymize_mem so that repeated > + * lookups for "a" will yield the same value. > + */ > +static void anonymize_path(struct strbuf *out, const char *path, > + struct hashmap *map, > + char *(*generate)(const char *, size_t *)) > +{ > + while (*path) { > + const char *end_of_component = strchrnul(path, '/'); > + size_t len = end_of_component - path; > + const char *c = anonymize_mem(map, generate, path, &len); > + strbuf_add(out, c, len); > + path = end_of_component; > + if (*path) > + strbuf_addch(out, *path++); > + } > +} Do two paths sort the same way before and after anonymisation? For example, if generate() works as a simple substitution, it should map a character that sorts before (or after) '/' with another that also sorts before (or after) '/' for us to be able to diagnose an error that comes from D/F sort order confusion. -- 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