SVN Commits, changing case, and updates...

Working on mac's, we've kicked something out with PHPStorm and Subversion but being mosty ignorant about subversion internals (there's a reason why I use PHPStorm...)

So I thought I'd throw this issue out there and see if anyone else has experienced this...and what they've done to work-around the problem...

I'm using a Mac.

I create and commit some file in PHPStorm, and commit to the remote SVN repository using the IDE:

file:  foo.bar.php

Later, I use the IDE to refactor the file name to:

file: Foo.bar.php

Another developer decides to update his repository and he checks-out a file named:

file: foo.bar.php

...and, bonus, an svn error message:

svn: Checksum mismatch while updating 'Foo.bar.php.svn-base'; expected: '6497400dd99778cef7e820e591366895', actual: 'null'

If, from the Mac command line, he r&r's the file with subversion, it's still restored as:

file: foo.bar.php

I found this post which discusses the cause of the issue -- and the solution is to create something on your mac called " a sparse bundle disk image, formatted as case-sensitive journaled" and then the subversion will work fine.

So, like I said in the beginning, I was wondering if anyone else has encountered this issue and were they able to come-up with something less "intense" to solve the problem?

thanks!

--mike
  

2 comments
Comment actions Permalink

Nope. The changing name CASE only is very common bug across all case-insentitive file systems (OS X, Windows) and all version contol systems.

The general solution is that nobody in the project shoud NEVER do it unless its absolutely critical.

And if you really need it - ALWAYS use two-stage rename: 1) rename to any other name, propagate to server and force everyone to update local copies 2) then rename to the new name.

Or you can employ on case-sensitive volume - but this will require the same from all participants.

0
Comment actions Permalink

Yeah - kind of reached the same conclusions...just was wondering how others handled it.

We went in to the repos and nuked the first (lower-case-named) file from the svn directory...that's a short-term fix for sure...

PITA tho to enable case-sensitive file system; would blow an entire day...

thanks for the response!

0

Please sign in to leave a comment.