SVN on Windows with Capital Filenames

A client of mine recently came to me with issues updating subversion from his Windows box. After some investigation, I figured out that the problem was that subversion had two copies of a file, “logo.png” and “logo.PNG”, the difference being one of the extensions was capitalized. This didn’t appear to be that uncommon, I know of at least one Windows app that saves all files as capital extensions by default (MSPaint). Committing these files is perfectly legal with subversion, and since it is hosted on a FreeBSD box, those files are perfectly distinct. But Windows is a case insensitive OS, so it viewed those files as one and the same. When updating, the SVN client would grab one, then attempt to grab the second and fail with an error message similar to “Object of same name already exists.”

Using tortoise SVN, there was no easy way to fix this issue. You can’t update to a working copy because of the issue, and so you couldn’t delete and recommit. On a non windows box I had to delete one or the other, then recommit. Tortoisesvn.net had a solution that didn’t really work for me, because each time I would attempt it, it would error out and I’d have to cleanup, effectively restarting the operation. Once the problem is resolved, they suggest a pre-commit hook script which would detect for a case insensitive filename clash. Were I too concerned that my client hadn’t learned his lesson, I would implement that. However, more careful usage can avoid this issue.

1 Comment »

  1. gravatar

    Ray's #1 fan Said,

    March 30, 2007 @ 7:56 am


RSS feed for comments on this post · TrackBack URI

Leave a Comment