The attached patch fixes a bug in hash_path_name(). hash_path_name() currently hashes foo and foo/ the same, but it will hash foo/. differently. The patch causes all three to hash to the same value/inode. (I've mailed this to cygwin32-developers before, but I wasn't on the list at the time. Lemme know if it has already been applied.)