Jeff King <peff@xxxxxxxx> writes: > I also wonder if Windows could return some other file-unique identifier > that would work in place of an inode here. That would be pretty easy to > swap in via an #ifdef's helper function. I'd be OK shipping without that > and letting Windows folks fill it in later (as long as we do not do > anything too stupid until then, like claim all of the inode==0 files are > the same). Yeah, but such a useful file-unique identifier would probably be used in place of inum in their (l)stat emulation already, if exists, no? > PS It occurs to me that doing this naively (re-scan the entries already > checked out when we see a collision) ends up quadratic over the > number of entries in the worst case. That may not matter. You'd only > have a handful of collisions normally, and anybody malicious can > already git-bomb your checkout anyway. If we care, an alternative > would be to set a flag for "I saw some collisions", and then follow > up with a single pass putting entries into a hashmap of > inode->filename. Yeah, that makes sense.