tortoise svn 200 error

At my office, we use SVN on some of our projects for version control. Last week, a very unusual problem started occurring. One of my co-workers checked out a repository. That went well. The unusual thing was that the guy in the cubicle next to him could NOT! Instead he ended up getting an error message that went like ” … error code:200 OK!” (Or something similar to it)

As usual, I (the tech-expert) was called in to try and fix the issue. The client they were using was tortoiseSVN and the platform was Windows XP. A little debugging later I arrived at these conclusions,

  • Using tortoiseSVN I could checkout the repo from my system (without any problems)
  • Reinstalling tortoiseSVN on the problematic machine did NOT help
  • Checking out the repo from a Linux box on the same network works

So, what could be the problem? I tried google , but drew a blank. Instead, I found that there were others having the same issue as well. I had a deadline to meet that day, so I was forced to leave the issue unresolved.

Fast-forward a week later. This time the co-worker in cubicle next to me started getting the same error message. This was getting serious! I hoped that this wasn’t some new kind of virus I hadn’t heard about. But the good news is that I managed to fix up the issue this time! What did I do?

I disabled his firewall.

On the original problematic system, the firewall icon was hidden in the system tray, so I never noticed it. And speaking of which, obviously, the fix works on that system too. I did another search on this again.

It seems that 200 is reported by svn if the authentication is in-complete or something. i.e., the client thinks that it has successfully connected to the server, but the server never recieved any such request. Hmm… makes sense, considering that we had the firewall in-between.

So, that wraps up that.

Constructor return value

Yesterday I attended an on-line interview. One of the questions asked was about constructors. I don’t remember the exact question, but part of it was testing my knowledge on constructor return values.

I just read up in Bruce Eckel just now, that constructors do NOT return anything. The more I think about the way I usually see them initialized, the more I feel that I was really an idiot yesterday. That question had me for about 5 minutes !! (Felt like 1 hour to me)

We can pass values into constructors, but I can’t think of any language where constructors return anything. Hmm…