Skip to content

Fix colliding paths in case-insensitive filesystems

James Mead requested to merge fix-colliding-paths into master

I just checked out the master branch on a MacOS system and got the following warning:

warning: the following paths have collided (e.g. case-sensitive
paths on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

'_clients/CAST.md'
'_clients/cast.md'
'_clients/Kaspersky.md'
'_clients/kaspersky.md'
'_clients/Power-to-Change.md'
'_clients/power-to-change.md'
'images/clients/CAST.png'
'images/clients/cast.png'
'images/clients/Power-to-Change.png'
'images/clients/power-to-change.png'

This meant that I immediately ended up with changes in my working tree due to the collisions which made it difficult to work on the project. This MR is an attempt to resolve this problem which seems to have arisen due to the changes in this MR.

I've attempted to resolve the instances where there are files with the same name but different cases by favouring the lowercase versions, but trying to incorporate any changes made in the uppercase versions.

I've chosen the lowercase versions, because I believe this is the idiomatic thing to do in Jeykyll, mainly because the file path can be used in URL paths and it's nice if these are all consistent.

This raises another issue in that other files with uppercase letters were introduced in that same MR and it would be nice to make them all lowercase/consistent. However, making this MR was a bit of a fiddle for me, because I had to use the GitLab web IDE to make the changes, so I haven't attempted to address the case of these other files.

The fact I was using the web IDE also meant I haven't been able to generate the site locally to check I haven't made any mistakes.

Edited by James Mead

Merge request reports