[SOLVED] Fixing 'SVN Cannot Create Tunnel' Error in Eclipse IDE
Amazon When I check out SVN project in Eclipse via Subclipse plugin it fails and displays an error dialog "SVN: can't create tunnel". How do I fix it?
Although this article is primarily for Subclipse plugin, it may apply to Subversive plugin as well. If you get this error read on to see if this fix works for you.
A few definitions first. Eclipse is a popular IDE for developing software, particularly Java, PHP, and C++. Subclipse is a plugin that can be installed on Eclipse making SVN tools available to the IDE's user. SVN is Subversion which is one of the most popular free source control software applications.
When I installed Subclipse on Eclipse on Windows 7 platform I didn't have trouble checking out and manipulating my SVN project which is hosted somewhere remotely. However when my friend did he saw the following error when trying to check out an SVN project:
If you are using SVN command line then the SVN command to check out a project looks like 'svn co svn+ssh://...'
How do I fix this error?
Possible Solution #1
If you check out an SVN project with SSH meaning that the SVN URL is prefixed with 'svn+ssh://', read on. Otherwise go to Possible Solution #2 below. The svn+ssh combination ensures that your communication with the SVN server is encrypted and secure. This means that Eclipse needs to know how the SSH protocol works.
Here's the solution. Install TortoiseSVN and tell Subversion how to run SSH protocol by following these steps.
Install TortoiseSVN
Download the latest TortoiseSVN from their official website and install it.
Locate Subversion's configuration file
If you are using Windows 7 or Windows Vista it should be located at
C:\Users\[User]\AppData\Roaming\Subversion\config
If you are using Windows XP it should be located at
C:\Documents and Settings\%USERID%\Application Data\Subversion\config Edit Subversion's configuration file
Open your SVN configuration file and locate the line where 'ssh' is commented out like this:
# ssh = $SVN_SSH ssh
This is where you need to let SVN know where the SSH executable file is. Change the line to
ssh = C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe
If you don't want to enter user name and password every time you use SVN then change the line to
ssh = C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe -l user -pw password
If you use a private key for authentication then change the line to
ssh = C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe -i C:/my-private-key.ppk
Using private/public key authentication to checkout code via SVN is discussed at Guide on How to use Eclipse to SVN+SSH Checkout Code from Amazon EC2. I am using a private key and my subversion configuration file looks like this: