Blog Author: Doug Hughes

Doug Hughes is a veteran programmer who founded Alagad after briefly flirting with a career in computer animation. Doug has a strong record of achievement with large, complex web applications. His ability to learn and apply new technologies and techniques has helped Doug become one of the web application development industry’s most highly regarded experts.

Doug’s current focus at Alagad is leading an application development team dedicated to helping organizations improve operational efficiency and performance. This commitment to client success has helped Alagad achieve record growth. A frequent speaker at industry conferences and user groups, Doug also regularly contributes to several well-known open source projects. In addition, his articles have been featured in numerous technical publications.

Categories
Blog Archives
Blog RSS Feed

RSS FeedSubscribe to our RSS feed or Atom feed.

The Alagad Technical Team Blog

Subversion, MKACTIVITY, and 403 forbidden Headaches

Published By: Doug Hughes on Nov 12, 2007 at 11:26 AM
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.

92 responses to “Subversion, MKACTIVITY, and 403 forbidden Headaches ”

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.

Sweet ajax comment handling, btw...

Minor correction...virtual *hosts*, not directories. Duh.

why u deleted it? no funny u!!! where is my comment? u bad u.. u forbid me then delete me, why? shame on u.

haha, thanks a lot. you solved my headache s also

Same problem here.....only i don't change case....ahhh on to another blog it is...

I had exactly the same problem. Your solution worked like a charm. Thanks a lot, saved my time.

Thanks! You saved the day!

I'm one of those upper/lower case disregarders spoiled by Windows.
I changed the case and - voilˆ - it worked

Thomas
Germany

Saved the day for me too.

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...

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..

Thanks!!! Worked like a charm.

Thank you for posting this. This was driving me crazy!

Thanks!

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

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 !


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.

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.

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!

Thank you for posting this. This was driving me crazy! ))

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

>> 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...

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

Thanks man this help me also!

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.

Thanx a lot, I had the 403 forbidden and to add path to SVN authorization file in httpd.conf worked

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

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.

Thanks so much. You helped me get to the root of our issue quickly and saved me from getting a similar headache. :)

Thanks for sharing this solution - I had the exact same problem.

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.

Oh and I also removed the reference to [/] but I don't know if that was what did it.

nifty submission form BTW

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.

Thanks a lot!!!!

thanks

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.

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.

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!

Thanks for this! By the way, this was the number one search result in google for "mkactivity 403 forbidden". ;)

I got same problem today...

Thanks!

Man! You are a life saver.

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.

You saved my Sunday!

Helal Olsun, (in Turkish it means you are great)

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_*.

Thanks for this article
We had a similar problem with our repository.
The matter was effectively a problem on the url case

AS everyone here I had same problem. I'm also thinking in translate this to portuguese to help other people -- with credits to you, of course :)

commenting to see sweet ajax moves

Thanks for this article. My casing problem was in the authz file.

The error did not leave me too..... Thanks a lot i saved my valuable time.

cheers....
Sunil Ganta

I'd lost few hairs because of this. thanks X2

Saved me a bunch of time. Thanks, man!

Many thanks!
this was getting us crazy, even because only the commit was not working, the update was ok.

Thanks for the blog. However, this did not work for me. Providing Read/Write permission to the Root Repository structure resolved this issue. Hope this helps

OMG! This helped... Why case-sensitive URI:s?... Oh well... The more you know.. :D

thanks, saved me some time too!

dfsdfsdfsdf

Thanks!

Thanks a lot! If only i found this entry sooner... xD

Thanks! This has been driving us crazy for weeks...finally did some research and came across your page...fixed our problem...very helpful !

THANK YOU! What a ridiculous error. What a horrible error message. The SVN boys should be ashamed of themselves.

We're using domain authentication
?Using "username" in svn "User Name" field => Fail
?change to "domain\username" in svn "User Name" field => Fail
?got rid of the "domain\" in the "User Name" field => Success

I don't know why??but it works ^^

Could also happen when the svn server is in read only mode. Seen with Google code hosting.

Solved my problem - many thanks!

Thanks a lot! All good noW! ;)

In my case, only the repository name itself was in wrong cases. relocating and done.

thanks a lot!

Great post, BTW the modifying the Authz file to change the casing works, BUT only for one version at a time. Rather have your clients relocate their working copies to the correctly cased URL.

Thank you very much!

I've done almoust everything before find your post.

Thank you thank you thank you!

In my case, there was a problem with case-sensitivity.

Our system: VisualSVN server on WS2003, TortoiseSVN clients (various versions)

All of a sudden, commit stopped working on random repositories. After careful inspection of repositories names we solved the problem.

We used TortoiseSVN command 'relocate' and changed repo name from 'nsurname' to 'NSurname' (as on server).

The reason is still unknown.

Thank you for the idea.

Thanku so much!! its just a great idea!

The case wasn't the issue with mine. Same MKACTIVITY error though. I cleared the TortoiseSVN authentication cache and it started working again....

Thanks for posting! Saved us a bunch of time.

Thanks!

Merci!

Thanks a lot :)

Great!!! tried every thing before checking out this place.... Thanks a lot.... :-)

This still didn't work for me until I looked at the users/permissions of my subversion repository. I did NOT have read/write permission for the main user of the system... Me. Once I added myself with read/write permission (machinename/myUserName) I was able to successfully add a VS 2008 solution to the svn repository.

Thanks a lot. :)

Thank you very much indeed, this just worked fine, I tried a bunch of things but no one solved the problem. I own you one.

Thank you for saving the day. "http://svn.example.com:8080/..."; hated me, but "http://svn:8080/..."; let me commit. Who knew?

THANK YOU! This has happened to me a few times now and I never figured it out. You really saved me.

Just thank you

Awesome catch. This tip saved my butt today.

Hey fiends, In my case, I think that was a problem with ssl certificates.

Im able to checkout but no commit. Im resolve the problem committing passing the --username option and yeah all my local working copies use the new resoved ssl certificates.

HI guys,
i tried all the above mentioned suggestion but stil facing the same 403 forbidden problem?
can some body tell me wat should i do to get rid of this hell??

Thanks in advance....

Thank you very much! You saved me and my programmers team a lot of time!

Dennis

This can also happen if you are using http ldap auth, and a user places a space at the end of their name. Apache will auth the user, but subversion will not find it in the authz file. Thus you get this error instead of a more typical user not found error.

Thanks... Googling the exact error didn't give much help.
Your post saved me bro...
Thanks.

Works like a charm. Thanks!

I bookmarked this already dude great work

Regards

Leave a Reply