0

I have an SVN repository location via svn+ssh protocol in eclipse Indigo with Subclipse 1.8 on a Kubuntu 12.10.

Now, in order to access this outside our network, I need to go via another port. It worked with the previously used Subversive Plugin by editing the repository location and enter the new port number. But I don't see such a thing in Subclipse.

I tried the relocate option and entered the port in the url after the host in the common host:port format, which seemed to be fine at first, since it triggered again the authentication popup and within that had the port set correctly. But after confirming, the relocation didn't finish and eclipse had to be killed.

Can someone tell me what to do? And if there is really no option for that in Subclipse, maybe through some OS mechanism?

PS: I had to change the eclipse plugin since svn was updated to 1.7 and Subversive does not provide a connector for it within the Indigo release.

Alexander Rühl
  • 6,769
  • 9
  • 53
  • 96
  • This has been more stable for me and includes current connectors. You can always install this and then select a differnet connector in your svn preferences for your existing svn plugin. – Duncan Krebs Nov 15 '12 at 20:30
  • http://subclipse.tigris.org/ – Duncan Krebs Nov 15 '12 at 20:30
  • @DuncanKrebs: I'm not sure what you wanted to tell me by that link - it's where I got the Subclipse 1.8 plugin. Or are you saying I can stay with Subversive and still use another connector, e.g. from tigris.org? I tried this with a Polarion connector for Juno release which resulted in a dependency conflict - and I wasn't sure if it's sensible to install a plugin listed for Juno within Indigo (and I won't update eclipse for that). Still, it leaves the problem how to just modify the port? Why don't they provide a settings dialogue for the repository location like Subversive? – Alexander Rühl Nov 15 '12 at 21:46

1 Answers1

-1

The port is part of the Subversion server URL. If you need to change the URL of the server in Subclipse, then the way to do it is with the Relocate option. This has to run through all of the working copies that are linked to that server and run the svn relocate API so that the working copies are pointing at the new server URL.

You do not mention what OS you are using, or whether you are using SVNKit or JavaHL. This matters because it will also determine how SSH is managed. Eclipse may have been hung up because a command line SSH tool was being spawned and there was no Terminal to provide answers to the prompts it wanted to provide. If you are using OpenSSH, then as long as you are running something like ssh-agent to manage your keys, you can avoid this. If you use SVNKit, then it provides a Java-based SSH client that will provide GUI prompts within Eclipse.

Mark Phippard
  • 10,329
  • 2
  • 32
  • 42
  • OS was mentioned above (Kubuntu Linux 12.10), the connector is SVNKit. So relocate is the right option and should work when using the same URL as before with an added port after the host? What puzzeled me is the fact, that if I delete the repository location in the repositories view and add a new one, it didn't show the authentication dialogue, where I could also specify the port. – Alexander Rühl Nov 16 '12 at 14:20
  • Subclipse only asks you for a URL. The port should be part of the URL. Something like svn+ssh://hostname:2200/svn/repos1 – Mark Phippard Nov 16 '12 at 14:29
  • Yes, that's correct. But after entering the URL, another dialogue pops up to enter the password for the ssh connection and in that dialogue there's an additional field containing the port - and this dialogue does not appear again once you entered valid credentials. So, back to the question above: Using "Relocate" and the an URL like you mentioned containing the new port then it should work? – Alexander Rühl Nov 16 '12 at 14:37
  • The credentials process is not controlled by Subclipse. We execute SVN API, such as relocate, which only takes a URL and the path to relocate. The API provider, SVNKit, performs callbacks to prompt you for whatever it needs. If it is not prompting, then it must think it has what it needs in its cache. It should be getting the port from the URL. – Mark Phippard Nov 16 '12 at 14:41