On Sat, May 18, 2019 at 06:38:39PM +0200, Johannes Sixt wrote:
> Am 18.05.19 um 14:58 schrieb Ax Da:
> > You can rename files like this:
> > git mv File.txt file.txt
>
> On a case-insensitive, case-preserving filesystem, a case-only rename
> operation is better performed in two steps that do not just change the case:
>
> git mv File.txt  file.txtx
> git mv file.txtx file.txt

Is this still needed in latest versions of Git, please see below  ?
A quick test shows that both the file is renamed and the index is updated:

user@mac:~/projects/git/git.pu> git mv Makefile MAKEFILE
user@mac:~/projects/git/git.pu> ls -l MAKEFILE
-rw-r--r--  1 tb  staff  100301 Apr 17 16:53 MAKEFILE

user@mac:~/projects/git/git.pu> git status
HEAD detached at git.git/pu
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        renamed:    Makefile -> MAKEFILE



  commit baa37bff9a845471754d3f47957d58a6ccc30058
  Author: David Turner <dtur...@twitter.com>
  Date:   Thu May 8 10:23:34 2014 -0700

    mv: allow renaming to fix case on case insensitive filesystems

    "git mv hello.txt Hello.txt" on a case insensitive filesystem
     always triggers "destination already exists" error, because these
    two names refer to the same path from the filesystem's point of
    view, and requires the user to give "--force" when correcting the
    case of the path recorded in the index and in the next commit.

    Detect this case and allow it without requiring "--force".

    Signed-off-by: David Turner <dtur...@twitter.com>
    Signed-off-by: Junio C Hamano <gits...@pobox.com>


[snip]

Reply via email to