JamesIves/github-pages-deploy-action

When updating files with different file name capitalization, the old file name capitalization is kept

hendriks73 opened this issue · 2 comments

Describe the bug

When the capitalization of a file name deployed via the plugin changes, it is not accessible under the new capitalization, but only the old. Also the capitalization in the branch is not changed and stays wrong. Most likely this has to do with GitHub using a case insensitive file system.

Reproduction Steps

  • 1st run: a file called AirPlayDevice.html is pushed to gh-pages branch and can be accessed under AirPlayDevice.html. Great!
  • 2nd run: the file name's capitalization is changed to AirplayDevice.html. When trying to access the file under AirplayDevice.html, a 404 is returned. When trying using the (now wrong!) name AirPlayDevice.html the correct file is returned. In the gh-branches branch, the capitalization is now wrong (no lowercase p).

Note that the file is generated freshly before calling github-pages-deploy-action. So the problem definitely occurs when merging changes into the target branch.

Additional Comments

You might want to check desktop/desktop#2672

Perhaps this could be fixed by setting

git config core.ignorecase false

before merging. I understand this is not something everybody would want, but it would be nice, if it was optional.

Perhaps this issue could also be worked around by users of your action by calling

git config --global core.ignorecase true

before running it.

Adding
git config --global core.ignorecase true
to the workflow didn't seem to help.

This is resolved in 4.2.0. It's suggested that you update the casing on your files using the git mv command instead of globally setting ignorecase in your configuration unless you absolutely need to.

git mv -f index.html InDeX.html

The action will now commit any case changes as it sets ignorecase internally within the workflow runs so it should pick up any committed case changes.

I'm not going to activate this option behind a flag as it shouldn't effect 99% of users, but should it cause problems I may re-evaluate.