Using 'hg mv' to change change a file name's case fails on case-insensitive filesystems (specifically, OS X): $ hg st --all C a $ ls a $ hg mv a A A: not overwriting - file exists $ Compare that with the the behavior of 'mv': $ mv a A $ ls A $ Possibly related: - issue1663 - Very easy to introduce case folding errors on Mac OS X - issue1425 - Update across case-only rename of file fails on default Mac filesystem Workaround: $ hg mv a a.temp $ hg mv a.temp A
I sent a patch to hg-devel which should fix this bug. See http://selenic.com/pipermail/mercurial-devel/2009-July/014117.html
Would this patch also fix rename behavior on Windows? Currently it is impossible to refactor/rename Java classes on Windows if the refactoring changes only the file name case.
Fixed by http://selenic.com/repo/hg/rev/6c4dbe28dda3 Matt Mackall <mpm@selenic.com> rename: handle case-changing (issue1717) (please test the fix)
Appears to work on some simple tests. I'll stick this version at the head of $PATH and report back if I notice any issues.
checked on HSF+
--- Bug imported by bugzilla@serpentine.com 2012-05-12 09:00 EDT --- This bug was previously known as _bug_ 1717 at http://mercurial.selenic.com/bts/issue1717
*** Bug 2963 has been marked as a duplicate of this bug. ***