Because the question keeps coming up repeatedly in the forum, I want to repeat the most important pieces of advice from the last thread in this blog post. Firstly and most importantly:
If you use SharpDevelop 2.x, you must use TortoiseSVN 1.4.x.
If you use SharpDevelop 3.x, you must use TortoiseSVN 1.5.x.
So why is this important? Well, Subversion 1.5 does change the working copy format, therefore older clients cannot read the working copy anymore. And why is this important to SharpDevelop? Daniel continues to explain:
SharpDevelop uses its own copy of the Subversion library for marking files as added/removed/etc. This can upgrade the working copy to the 1.5 format.
However, SharpDevelop does not have it's own commit dialog - we simply start TortoiseSVN.
So there are two Subversion libraries used by SharpDevelop: the one we ship for local operations, and the one shipped with TortoiseSVN for commit etc. Because the Subversion 1.4 library cannot read working copies touched by the 1.5 library, you run into this kind of problem when either TortoiseSVN or SharpDevelop is too old.
To sum up: SharpDevelop 2.x ships with libraries that are compatible with Subversion 1.4 and requires TortoiseSVN 1.4 for UI. Whereas version 3.0 of SharpDevelop ships with (different) libraries that are compatible with Subversion 1.5 and requires TortoiseSVN 1.5 for UI.
So will there be an upgrade for SharpDevelop 2.x to support Subversion 1.5? This was a hotly debated issue, however, in the end it boiled down to the following question: do we want to ship two almost identical versions of SharpDevelop 2.2 that only differ in the version of the included Subversion library (because we would have to support both camps)? As that would create quite a bit of confusion, we decided to leave 2.2 as is and support Subversion 1.5 only in SharpDevelop 3.0.