On 24.03.2011 15:22, Philip Martin wrote: > Johan Corveleyn <jcor...@gmail.com> writes: > >> I'm looking at issue #3702 ("svn ren TODO todo" not work on windows). > It's a bit tricky :) Consider a mixed-case node "Foo". It's seems > obvious that > > svn mv Foo foo > > is a case-only rename. But what about > > svn mv FOO foo > > or > svn mv foo foo > > It's possible to do a case-only rename whenever the destination doesn't > match the disk, but should we require the source to match?
Clearly not ... case-only rename on a case-inseneitive file-system assumes that the file-system is case-insensitive. :) > The node "Foo" might contain a child "Zig", is > > svn mv Foo/Zig foo/Zig That's a no-op. You've not renamed Zig. > a case-only rename? If that is a case-only rename what about > > svn mv Foo/Zig foo/zig That's a case-only rename of Foo/Zig to Foo/zig. > is that two renames? Suppose there are two children "Zig" and "Zag", > if > > svn mv Foo/Zig foo/Zig > > is a case-only rename it would affect "Foo/Zag". You're really piling it on here, starting from wrong premises. :) A rename affects the last component of a path, nothing more. I've never heard of a system when you can case-only rename a directory in the middle of a path. In short, things aren't /that/ tricky as far as renames go. They're a lot trickier during update and commit, if the editor hits a local file that has the wrong case on-disk, but is otherwise versioned (I've known brain-dead tools to case-only rename the files they'd worked on). -- Brane