This is just a quick blog entry to hopefully help other people who end up in a similar situation as I did this morning. Specifically, I’ve been contributing to a new project and when to commit my updates into subversion this morning only to receive this lovely error:
svn: Commit failed (details follow): svn: Commit failed (details follow): svn: MKACTIVITY of '/foobar/!svn/act/1f177b34-1601-0010-84ad-c180bd3a7ab5': 403 Forbidden (http://svn.foobar.com)
Now, despite this errors’ clarity and obviousness, it took my team about an hour and half to work out.
A check of the configuration files on our Subversion server confirmed that I was in a group which had read and write access and that others on this project were quite able to commit to the repository.
Also, I was able to commit to other repositories using the exact same permissions. I mean, literally, the groups and rights defined were the same.
I could checkout from the repository with no problems as well.
The log files were a mess of uselessness too.
A Googling of the problem turned up many cases where users had upgraded from earlier versions of Subversion to the latest, which, in fact, we recently did. However the repository in question was a new one and had never existed in previous installations. Nothing else we could find seemed to have any bearing on the problem.
To make sure it wasn’t a bug in Subclipse I went to a different machine and checked out and tried to commit some changes to the same effect.
After quite a while we tried something that seemed to us to be a longshot. The casing in my svn url was not exactly the same as the repository name on disk. For example:
My URL: http://svn.foobar.com/foobar
The repository’s name however, was fooBar.
Clearly the repo name is not realy, fooBar. But, you get the picture. The case was different.
So, despite the fact that Subversion and Apache were running on windows it was suggested that I try changing the case and try again. I did, and to my surprise, it worked!
So, next time you have bizarre problems with Subversion, MKACTIVITY, and 403 Forbidden, double check your casing. Even on Windows.