Re: issue unable to commit file and folder name to upper lower case
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Nov 7, 2023, 17:35 UTC
- Message-ID
- <20231107173557.GA29083@tb-raspi4>
- In-Reply-To
- <CAHv3AeCOoEXxpNh=gzjNcKbVyZFaYZ5BzSf3FGL1=pdheNebZw@mail.gmail.com>
On Tue, Nov 07, 2023 at 07:28:14PM +0800, chengpu lee wrote:
Show 53 quoted lines
> 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/.keeptb@pc:/tmp/ttt>