Subversion, MKACTIVITY, and 403 forbidden Headaches
Published By: Doug Hughes on Nov 12, 2007 at 11:26 AM
Times Viewed: 14835
Categories: General
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.





I've experienced a similar phenomenon, although it wasn't quite as confusing because I couldn't checkout either. So the troubleshooting led me to the URL casing sooner. My Subversion setup is also Apache on Windows, using virtual directories to define different groups of repositories. The URL case has to match the way I entered the virtual directory names in the config file, but the case after the virtual directory doesn't have to match because Windows will allow it.
Interesting. Thx for sharing this problem.
Posted By: Joshua Curtiss on Nov 12, 2007
Sweet ajax comment handling, btw...
Posted By: Joshua Curtiss on Nov 12, 2007
Minor correction...virtual *hosts*, not directories. Duh.
Posted By: Joshua Curtiss on Nov 12, 2007
why u deleted it? no funny u!!! where is my comment? u bad u.. u forbid me then delete me, why? shame on u.
Posted By: hadi akl on Dec 22, 2007
haha, thanks a lot. you solved my headache s also
Posted By: Hank Gu on Jan 7, 2008
Same problem here.....only i don't change case....ahhh on to another blog it is...
Posted By: Bryce on Jan 23, 2008
I had exactly the same problem. Your solution worked like a charm. Thanks a lot, saved my time.
Posted By: jmper on Jan 25, 2008
Thanks! You saved the day!
Posted By: Jakob on Mar 4, 2008
I'm one of those upper/lower case disregarders spoiled by Windows.
I changed the case and - voilà - it worked
Thomas
Germany
Posted By: Thomas on Mar 12, 2008
Saved the day for me too.
Posted By: Seth on Mar 18, 2008
Thanks for posting this, found after many dead-ends through Google.
My case seemingly was URL-related as well, which was fixed by "relocating" the repository (using TortoiseSVN).
Things had been working perfectly fine until commits just started failing one morning - checkouts worked fine. Commits also worked fine for other developers in my team!
Commits started working again after changing the repository location from http://host:8080/svn/ProjName/trunk to http://Host.domain.org:8080/svn/ProjName/trunk - I used "Host.domain.org" exactly as specified case- and DNS-wise when installing VisualSVN Server.
Hope this helps someone...
Posted By: Vijayan on Mar 20, 2008
Thanks for this solution ,I have been trying to find the same from google for 2 days.Your solution is just the perfect for this problem..
Posted By: Saurabh Mehrotra on Mar 24, 2008
Thanks!!! Worked like a charm.
Posted By: Harold Solbrig on Mar 25, 2008
Thank you for posting this. This was driving me crazy!
Posted By: jc on Apr 14, 2008
Thanks!
Posted By: Zohar Babin on Apr 19, 2008
Great!
I had the same problem, thanks for the post!
Thank you also, Vijayan, since I didn't know the "relocate" of TortoiseSVN, it saved me a lot of time!
Cheers,
Cyril
Posted By: Cyril Gambis on Apr 23, 2008
hey, thanks a lot for this post, i was having the exact same problem and you really saved me a lot of trouble here!
and like Cyril said also, thanks Vijiayan for the tip on the 'relocate' command, i was about to do a fresh checkout, wich would have taken at least a couple of hours !
Posted By: filipe on Apr 28, 2008
Thank you so much for this blog entry. I encounter the similar problem, and yes.. it's caused by the wrong case as you described.
Posted By: meiwin on May 30, 2008
Hello all,
I've encountered the same problem. Changing the letter casing didn't help. I'm not sure if this will help for sure, but I've solved te problem by relocating my project and downloading model via svn to directory with shorter browse path (for example C:\model).
Try not to use long browse paths and just to be sure, aviod using diacritical points or spaces in directories names.
Hope this will work for you all.
Posted By: mecho on Jun 16, 2008
This error is ridiculous. It makes no sense that you are able to checkout a project with the wrong case, but then are forced to use the right case to commit. I hope that CollabNet fixed this for version 1.5!
Posted By: Tony on Jun 24, 2008
Thank you for posting this. This was driving me crazy! ))
Posted By: Eugene on Jul 9, 2008
for 403 Forbidden error i have a solution
Basically this is all about Permission deny to commit into Repository. This means you don;t have write permission.
Admin shoyld change his authorixation file to give your id rw perm. Auth file location can be found from httpd.conf file if appache is running in your system
directive in httpd.conf looks like
AuthzSVNAccessFile /path/to/authfile
be careful only admin can do it
Posted By: Mukesh on Jul 10, 2008
>> Tony: "I hope that CollabNet fixed this for version 1.5!"
I'm running 1.5 and just received this error - so it's not fixed yet...
Posted By: Mikkel Bo Mikkelsen on Jul 11, 2008
Thanks a lot! It helps me. It shows me the way! :) Casing is very important, especially at work with different operating systems.
Best regards,
Lark http://www.topnomer.ru
Posted By: Lark on Jul 16, 2008
Thanks man this help me also!
Posted By: Jess on Jul 28, 2008
I had the same problem with subversion only the case was off for my username. Subversion gives a completely different exception for invalid user/password, but gives the forbidden exception when the credientials are correct except for the case of the user.
Posted By: Keith Morgan on Jul 29, 2008
Thanx a lot, I had the 403 forbidden and to add path to SVN authorization file in httpd.conf worked
Posted By: Astarta on Jul 30, 2008
Well, actually the clue in the error-message is the "HTTP" part, as
http://www.apache.org/dev/committers.html#commit-403
complains commits are only allowed on HTTPS links !!
svn: MKACTIVITY of '/foobar/!svn/act/1f177b34-1601-0010-84ad-c180bd3a7ab5': 403 Forbidden (http://svn.foobar.com)
^^^^
Use the svn switch --relocate command to correct this like:
svn switch --relocate http://svn.apache.org/repos/asf/project/module \
https://svn.apache.org/repos/asf/project/module
Gr,
Jan
Posted By: Jan Wilmans on Aug 3, 2008
Here is how I fixed the "mkactivity 403 forbidden" error on Windows. We're using domain authentication in our svn authz file. I was using domain\user in my svn "User Name" field in the Edit Connection window. I could browse the repository but couldn't commit. When I got rid of the "domain\" in the "User Name" field and just used my Windows user name, I could both browse the repository and commit. Oh, I'm on Win XP, TortoiseSVN 1.5.2, and Oracle JDeveloper 10.1.3.
Posted By: mike on Aug 13, 2008
Thanks so much. You helped me get to the root of our issue quickly and saved me from getting a similar headache. :)
Posted By: csmyth on Aug 28, 2008
Thanks for sharing this solution - I had the exact same problem.
Posted By: Andrew on Sep 3, 2008
note to self: When we go live with the subversion server, make sure everyone uses only lower case in their paths.
Also, I was having this problem with our test server and for the life of me I couldn't figure it out since all my paths were in exactly the same casing.
In the end I stripped all the old gobbledy gook permissions from my permission file (vestigial permissions as it were) and it worked.
Posted By: Martin on Sep 9, 2008
Oh and I also removed the reference to [/] but I don't know if that was what did it.
nifty submission form BTW
Posted By: Martin on Sep 9, 2008
We are using LDAP authentication and the "mkactivity 403 forbidden" occurs when users (Windowsuser :-() log in with mixed case usernames. LDAP seems not to check case, apache does.
Posted By: andy on Sep 10, 2008
Thanks a lot!!!!
Posted By: Anil E.K. on Sep 12, 2008
thanks
Posted By: link on Sep 18, 2008
Actually there are two reasons why this can happen. The first being what the blog entry says: differenc case in repository name in URL and on disk. Second being what one of the comments says: checking out with http: and trying to commit, where only https: works (because theres a redirect from http -> https) the latter bit us.
So if you see the case not being the problem, cross-check http/https.
Posted By: Marcel on Sep 26, 2008
You saved my week. I wa starting to lose my hope.
I had the same problem but the repository name on disk was the same as the URL dir in the server, the case was wrong on the URL used on the client to chechout.
I used TortoiseSVN from 1.5.0 to 1.5.3 on Windows XP 32 and Vista 64.
thanks a lot
Oscar.
Posted By: fraxedas on Sep 29, 2008
Thanks a lot!!!! I've got exactly the same problem. Spent 2 desperate hours trying to solve it and finally find your article with solution.
Thanks once more!
Posted By: Yuri on Oct 30, 2008
Thanks for this! By the way, this was the number one search result in google for "mkactivity 403 forbidden". ;)
Posted By: ranomore on Oct 31, 2008
I got same problem today...
Thanks!
Posted By: cg_roma on Nov 11, 2008
Man! You are a life saver.
Posted By: Geoff on Nov 12, 2008
I had the same error, but my error was that i tried to do the commit with one user that only had read permisions. I add the write permisions and works fine.
Posted By: molistok on Nov 16, 2008
You saved my Sunday!
Posted By: Edward on Dec 13, 2008
Helal Olsun, (in Turkish it means you are great)
Posted By: Aydin Günes on Dec 16, 2008
So it took me nearly a week to bang out my 403 Forbidden error. I had right casing and right slashes.
It ended up being that I needed to enable a few more modules that aren't mentioned anywhere:
specifically, make sure the auth_basic and digest, dav_* modules and the ones that got me: proxy_*.
Posted By: Isaac Johnson on Jan 5, 2009