On Tue, Nov 07, 2023 at 07:28:14PM +0800, chengpu lee wrote: > Thank you for filling out a Git bug report! > Please answer the following questions to help us understand your issue. > > What did you do before the bug happened? (Steps to reproduce your issue) > $ mkdir abc > > $ echo "">abc/.keep > > $ git status > On branch master > Untracked files: > (use "git add <file>..." to include in what will be committed) > abc/ > > $ mv abc Abc > > $ git status > On branch master > Untracked files: > (use "git add <file>..." to include in what will be committed) > Abc/ # rename > to Abc/ successfully > > $ git commit -m "commit Abc/" # commit > > $ mv Abc abc > > $ git status > On branch master > nothing to commit, working tree clean # cannot > rename again > > $ git diff > >"" > > $ git add . > > $ git commit -m "Cannot rename from Abc/ to abc/" > On branch master > nothing to commit, working tree clean # cannot > commit to right, keep old file name / folder name > > > What did you expect to happen? (Expected behavior) > It should be correct to new name although just change upper/lower case, > because other commiter can pull it from repo or improve reading clarity. > > What happened instead? (Actual behavior) > can commit file/folder but cannot fix upper/lower case. > > What's different between what you expected and what actually happened? > git unable to faithfully represent file/folder upper/lower case changes. > Yes, that is a restriction in Git, call it a bug, call it a missing feature. Unless someone fixes it, the recommendation is still to use a workaround: tb@pc:/tmp/ttt> git mv Abc tmp tb@pc:/tmp/ttt> git mv tmp abc tb@pc:/tmp/ttt> git status On branch master Changes to be committed: (use "git restore --staged <file>..." to unstage) renamed: Abc/.keep -> abc/.keep tb@pc:/tmp/ttt>