Hello, I have used the procedure described below for many years. In fact, this procedure is part of a script which I am using for about 10 years. This procedure was definitely working with git-2-25-1 and git-2.26.2. Now, with git-2.34.1 (on a freshly installed ubuntu-22.04), this procedure fails. Here is what I do: I want to rename a file on a branch which is not currently checked out without messing/touching my current working directory. For this, I first create a clone of the repo with shared git-directory: $ SANDBOX=/var/tmp/manage-scans-X1pKZQiey $ WT=$SANDBOX/wt $ GIT=$SANDBOX/git $ mkdir -p $SANDBOX $ git --work-tree $WT --git-dir $GIT clone -qns -n ~/upstream-repo $GIT Then, I do a sparse checkout in this clone, containing only the file that is to be renamed: $ cd $WT $ echo 'path/to/old-filename' >>$GIT/info/sparse-checkout $ git --work-tree $WT --git-dir $GIT config core.sparsecheckout true $ git --work-tree $WT --git-dir $GIT checkout -b the-branch remotes/origin/the-branch Switched to a new branch 'the-branch' Next step would be to "git mv" the file: $ mkdir -p /path/to # already exists, but should do no harm $ git --work-tree $WT --git-dir $GIT mv path/to/old-filename path/to/new-filename The following paths and/or pathspecs matched paths that exist outside of your sparse-checkout definition, so will not be updated in the index: path/to/new-filename hint: If you intend to update such entries, try one of the following: hint: * Use the --sparse option. hint: * Disable or modify the sparsity rules. hint: Disable this message with "git config advice.updateSparsePath false" This error is something I have not expected. Error message suggests, there already exists a file named "new-filename". This is not true at all. There is no file named "new-filename" in the entire repository. Not in any directory of any branch. -- Josef Wolf jw@xxxxxxxxxxxxx