I am currently using Tortoise SVN and a SVN plugin from my IDE. Sometime problems appear, and it seems that my .svn aren't always in a consistent state. So is a bad practice to use two SVN clients ? (looking from a practical approach). Do you have links related to SVN best practices ? Thank you.
I use AnhkSvn and Tortoise all the time, they sometimes get out of sync but I never had any issues with consistency. I don't think it is a bad practice to use any number of svn clients provided they are well behaved.
Not at all. Many people use a graphical client (TortoiseSVN, IDE plugin) along with a command-line client (useful for those commands that would just take longer to click through than to type).
You can use however many makes it easy to do your job.
We're using Tortoise on all machines, and AnkhSvn for those who use Visual Studio as well. Most of the time I'll use the plugin, but it often has issues doing things like complicated moves or renames, so in those instances I'll use Tortoise. Whatever gets the job done. I also really like the shell integration that Tortoise gives you.
If you're using multiple clients, it's a bit of trial and error to find which client works best for which operations, but that shouldn't take too long.
One thing you need to watch is to make sure the SVN clients remain compatible with the version of SVN on your server, and that all the clients are capable of reading/writing between each other. I recommend reading the release notes before installing any updates to the clients (which often have automatic update type mechanisms).
It is a bad idea to use multiple SVN clients on the same checkout. Even using different versions of the commandline client may make the repository unusable for the other (I've had plenty of trouble with that, using remote filesystems from different machines).
Yes, it is a very bad idea. SVN is notorious for silently upgrading the on-disk data structures to the newest format it understands, so whenever only one of your clients is updated to a newer program version (e.g. because you used "refresh plugins" in your IDE, or when you refresh your Cywgin installation...), the other one may be locked out. If it isn't easily upgradeable, e.g. because your IDE plugin hasn't actually been rewritten yet, you're screwed. At the very least, use only clients that cannot possibly self-update without your knowledge.
This generally works fine. I frequently switch between TortoiseSVN, Eclipse, and the CLI client.
What you have to watch out for is caching in your IDE. For example, Eclipse doesn't know when you use Tortoise to do an update, so you have to manually refresh the project so that it finds the updated files.
The other thing you have to watch out for is the client version. Be careful when updating one of your SVN clients, because if one of them moves to a newer svn client version, it may make your working copy inaccessible by the other clients. It doesn't matter what the server version is, as long as all your clients work against the same svn client version.