Satyarao.K
Satyarao.K

Reputation: 63

How do I do commit a renamed file with case-sensitive using TortoiseGit?

I am trying a sample project to rename a file using Eclipse. First, I did a commit and pushed to GitHub. The file was Samplemain.java. If I rename that file to SampleMain.java and if I try to commit the renamed file using TortoiseGit, I'm unable to commit. Instead, it's showing an error with a small dialog.

Please let me know the solutions for renaming files with case-sensitive in Git. I am using Windows, the error dialog is shown below. enter image description here

Upvotes: 2

Views: 2500

Answers (4)

Venryx
Venryx

Reputation: 18059

There's a utility made for this apparently: https://github.com/tawman/git-unite

I haven't been able to try it myself yet, as the author doesn't provide the final exe files, and I had an issue when trying to run the build script. But it seems to be a utility that would solve this issue more easily.

It searches for name-casing mismatches between repo and folders, and updates the repo to match the folder, letting you then commit with only one version of the files. So just change the names in Windows explorer to what you want, then run the utility, I believe. (maybe followed by a commit -- not sure)

Upvotes: 0

petrnohejl
petrnohejl

Reputation: 7759

Run following command in Windows command line (MINGW console). It should fix the case detection problem.

git config core.ignorecase false

Upvotes: 4

janos
janos

Reputation: 124724

This is a problem with TortoiseGit, not with Git itself. If you commit using the command line it will work, I checked it now. Note that renaming still takes 2 git mv commands, but only one git commit, as it should.

Another alternative is to rename the file on GitHub: when editing a file on GitHub notice at the top that you can change the name. After that you can pull from it.

Upvotes: 4

Jeremy J Starcher
Jeremy J Starcher

Reputation: 23863

Two-stage rename... name it to something like 'z.tmp' then back to the name your really want.

I know with Subversion I have to commit between two-step renames, but with Mercurial I don't.

Not sure if Git needs it or not.

Upvotes: 0

Related Questions