There are some problems when capitalization of a file or directory name changes in the working copy (at least on Windows). I'm starting off with following tree:
# svn status -v 1 1 Marc . 1 1 Marc a 1 1 Marc a\mu 1 1 Marc a\b 1 1 Marc a\b\lambda 1 1 Marc a\b\e 1 1 Marc a\b\e\alpha 1 1 Marc a\b\e\beta 1 1 Marc a\d 1 1 Marc a\d\gamma 1 1 Marc iota Then a/b/e will be changed to upper case a/b/E: # svn status ! a\b\e ? a\b\E This is somewhat strange as a/b/e is missing, but a/b/e/alpha and beta are not. Adding the unversioned directory and removing the missing one seems to work: # svn add a/b/E # svn rm a/b/e # svn status ! a\b\E ! a\b\E\alpha ! a\b\E\beta D a\b\e D a\b\e\alpha D a\b\e\beta However, a subsequent commit fails: # svn commit -m "a/b/e moved to a/b/E" svn: E155010: Commit failed (details follow): svn: E155010: 'D:\greek-tree.svn\a\b\E' is scheduled for addition, but is missing There are more unexpected results, when starting off with a modified a/b/e/alpha: # svn status M a\b\e\alpha # svn cat a\b\e\alpha new file content Again, a/b/e is changed to a/b/E. Then status is more or less OK: # svn status ! a\b\e M a\b\e\alpha ? a\b\E When adding a\b\E now, alpha gets duplicated: # svn add a\b\E # svn status ! a\b\e M a\b\e\alpha A a\b\E A a\b\E\alpha A a\b\E\beta Removing a\b\e doesn't work: # svn rm a\b\e svn: E195006: Use --force to override this restriction (local modifications may be lost) svn: E195006: 'D:\greek-tree.svn\a\b\e\alpha' has local modifications -- commit or revert them first Committing seems to work: # svn commit -m "a/b/e moved to a/b/E" Adding a\b\E Adding a\b\E\alpha Adding a\b\E\beta Sending a\b\e\alpha Transmitting file data ... Committed revision 2. It has added a/b/E, as expected: # svn ls file://localhost/d:/greek-tree.repo a/ a/b/ a/b/E/ a/b/E/alpha a/b/E/beta a/b/e/ a/b/e/alpha a/b/e/beta a/b/lambda a/d/ a/d/gamma a/mu iota But it has modified a/b/e/alpha as well, unexpectedly: # svn cat file://localhost/d:/greek-tree.repo/a/b/e/alpha new file content # svn cat file://localhost/d:/greek-tree.repo/a/b/E/alpha new file content Apart from a possible fix in 1.7 series (which I understand might be quite complex), what would be the correct resp. expected behavior? >From the perspective of a UI client, would you recommend to reject working with case-changed entries at all to avoid mentioned problems? Instead the user could be told to fix the file name case changes or the client does that automatically (like TSVN does for SVN 1.6). -- Best regards, Marc Strapetz ============= syntevo GmbH http://www.syntevo.com http://blog.syntevo.com