Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#4317 svn (commandline version) does not work on WinXP after svn migration by Sourcefourge (Allura?)

self-service
Chris Tsai
None
2013-06-19
2013-06-08
No

Hi there,

a few weeks ago the bsf4oorexx project got upgraded to Allura automatically. In the process the svn repository got relocated and directions were given how to relocate or check out the project from the new repostory location.

This weekend I finally got time again and tried to relocate the Sourceforge repositories from the bsf4oorexx project. This worked on a MacOSX, but failed on Windows XP (SP3)! :(

There are two svn commandline clients that I have tested to no avail on Windows XP:

  • cygwin's svn, version 1.7.9 (r1462340) and
  • Tortoise's svn, version 1.7.10 (r1485443)

Trying to rebase (or checking out) with cygwin's svn yields the following hangs/errors:

--->
F:\work\svn\bsf4oorexx>svn relocate "svn+ssh://orexx@svn.code.sf.net/p/bsf4oorexx/code/"
The authenticity of host 'svn.code.sf.net (216.34.181.157)' can't be established.
RSA key fingerprint is 86:7b:1b:12:85:35:8a:b7:98:b6:d2:97:5e:96:58:1d.
Are you sure you want to continue connecting (yes/no)? yes
[... from here on svn hangs ...]

F:\work\svn\bsf4oorexx>svn checkout --username=orexx svn+ssh://orexx@svn.code.sf.net/p/bsf4oorexx/code/ bsf4oorexx-code
The authenticity of host 'svn.code.sf.net (216.34.181.157)' can't be established.
RSA key fingerprint is 86:7b:1b:12:85:35:8a:
b7:98:b6:d2:97:5e:96:58:1d.
Are you sure you want to continue connecting (yes/no)?
[... from here on svn hangs, ctl-c yields:]
Are you sure you want to continue connecting (yes/no)? svn: E210002: Unable to connect to a reposi
tory at URL 'svn+ssh://orexx@svn.code.sf.net/p/bsf4oorexx/code'
svn: E210002: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subve
rsion configuration file.
svn: E210002: Network connection closed unexpectedly
<---

Trying it with Tortoise's commandline client:

--->
F:\work\svn\bsf4oorexx>svn relocate svn+ssh://orexx@svn.code.sf.net/p/bsf4oorexx/code/
svn: E720002: Unable to connect to a repository at URL 'svn+ssh://orexx@svn.code.sf.net/p/bsf4oorexx/code'
svn: E720002: Can't create tunnel: Das System kann die angegebene Datei nicht finden.
[German->English translation: The system cannot find the given file.]

F:\work\svn>svn checkout --username=orexx svn+ssh://orexx@svn.code.sf.net/p/bsf4oorexx/code/ bsf4oorexx-code
svn: E720002: Unable to connect to a repository at URL 'svn+ssh://orexx@svn.code.sf.net/p/bsf4oorexx/code'
svn: E720002: Can't create tunnel: Das System kann die angegebene Datei nicht finden.
<---

Interestingly, trying to relocate using the Tortoise GUI works, but only for the GUI interface! Hence the relocating has no effect for the command line clients! (TortoiseSVN-1.7.13.24257-win32-svn-1.7.10.msi).

It used to work in the commandline without any problems for many, many years with the prior url, so the new url should work as well on XP!

TIA,

---rony

Discussion

  • One more note: using cygwin's svn, I established a pure ssh session to the new repository server and stored the new server's RSA key in my local file. This allowed me to get further (doing a svn relocate), asking me (user: orexx) for my password, after entering it svn still hangs.

    Interrupting with ctl-c yields:

    --->
    F:\work\svn\bsf4oorexx>svn relocate "svn+ssh://orexx@svn.code.sf.net/p/bsf4oorexx/code/"
    Password:
    svn: E210002: Unable to connect to a repository at URL 'svn+ssh://orexx@svn.code.sf.net/p/bsf4oorexx/code'
    svn: E210002: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subve
    rsion configuration file.
    svn: E210002: Network connection closed unexpectedly
    <---

     
  • Chris Tsai
    Chris Tsai
    2013-06-11

    • status: unread --> pending
    • assigned_to: Chris Tsai
     
  • Hi Chris,

    I have been using for many years cygwin's ssh. Also, I was able by doing a ssh user@... to declare that I trust that server given the presented fingerprint. So on subsequent svn attempts (e.g. "svn upedate") I pass that step (am not queried for accepting that server) getting the svn feedback output "Updating '.'" and being even prompted for my sourceforge password. After entering it the session hangs. Interrupting it with Ctl-C an error is generated. Here such a session:

    F:\work\svn\bsf4oorexx\trunk\org\apache\bsf>svn update
    Updating '.':
    Password:
    <CTL-C>
    svn: E210002: Unable to connect to a repository at URL 'svn+ssh://orexx@svn.code.sf.net/p/bsf4oorexx/code/trunk/org
    /apache'
    svn: E210002: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subve
    rsion configuration file.
    svn: E210002: Network connection closed unexpectedly

    So everything looks as if it was working as before, it just hangs using cygwin's svn (and having cygwin's ssh installed as well).

    Shouldn't that work at least for the cygwin case?


    Following your link (thank you for it, I was not aware of it) and according to the docs there one has to use plink.exe and PuTTYgen just to get at ssh keys infrastructure?

    Is there a solution that would allow me to just use my cygwin svn (I updated cygwin to the latest published versions)?

    ---rony

     
  • Hi Chris,

    got some more time and looked first into cygwin:

    • turned out that I did not have cygwin's openssh installed. So I installed it, generated a key and set up the config file according to the various (including sourceforge's) documentations, which just does not work, unfortunately, even after lengthy researches on the issue on the Internet and applying all sort of ideas! :-(

    • then I downloaded the PuTTY package (including plink.exe) via the link given by you and tried to use the openssh generated key (using the -i option), which was able to identify the key but was not able to use it! :(


    The Windows Tortoise package comes with an optional command-line package that can be installed, which I did. (It contains even a TortoisePlink.exe!)

    Denoting TortoisePlink.exe with the "-i" option enables the Tortoise command-line svn programs to work, which is good. (Counter checking with cygwin using the same configuration still does not allow cygwin's svn to be used giving only the reported error message.)

    Unfortunately, the Tortoise tools (GUI and command line) keep asking for the password of the user accessing the svn repository, sometimes - depending on the svn tool - one has to enter that password multiple times, which is user-unfriendly to the max (as if ssh wasn't safe enough?) !

    Do you or someone else have any insights/ideas of how to remove that incredibly annoying behaviour (that has never plagued me in the past years using cygwin's ssh with https, and should not start to plague anyone using the ssh protocol for svn)?


    Now, if you or someone else has an idea how to get cygwin's svn to be usable with the new protocol you guys decided to use for the migrated repositories, I would be very happy!

    ---rony

     
  • Well, the Tortoise problem (asking constantly for the user's password) can be solved according to http://support.tigertech.net/tortoise-svn.

    For cygwin this does not work. Hence, any hints, help appreciated to get cygwin's svn working again on Windows with ssh!

     
  • Chris Tsai
    Chris Tsai
    2013-06-18

    Well, my Windows box is really old and slow, so after cleaning it up and getting it usable again, I did a clean install of Cygwin (my only choice, as I didn't have it installed previously on any machine I currently in use), and I found everything to be working as expected more-or-less "out of the box".

    I did the following (mostly via the "Cygwin Terminal") to test:

    1. fresh checkout of a test repo over svn://
    2. fresh checkout of a test repo over svn+ssh:// using password auth
    3. used PuTTYGen and converted my PuTTY SSH key (ppk) to an OpenSSH compatible dsa key, then moved that to ~/.ssh/id_dsa in the Cygwin Console
    4. fresh checkout of a test repo over svn+ssh:// using ssh key auth
    5. fresh checkout of https://bsf4oorexx.svn.sourceforge.net/svnroot/bsf4oorexx/trunk (ie., old repo)
    6. svn relocate svn+ssh://sillygoose@svn.code.sf.net/p/bsf4oorexx/code/trunk (sillygoose is the test account I was using)
    7. after relocating, svn update

    All the above steps worked as expected and without issue. In short, I basically used all the tried and true configuration steps from non-Windows *nix machines, and it "just worked".

    I did notice while installing an alert about major changes with Cygwin, I see you mentioned that you're using the latest available packages, does that include the Cygwin base install itself? From my memory, using Cygwin in my testing today was considerably different than the last time I've used it (years ago). My observation is that the current Cygwin is much more like a standalone *nix environment running within Windows, compared to the older one, where it felt like a less "pure" *nix environment tacked onto Windows. Of course, my memory is fuzzy about this though. I also found a number of older articles online on using cygwin with svn+ssh which no longer seem necessary, possibly due to changes in the meantime?

    I'm not sure how else I can help since everything worked so smoothly for me. I suspect that the issues are related to your specific configuration. Perhaps some of the above will prove helpful?

    Regards,
    Chris Tsai, SourceForge.net Support

     
  • Chris, thank you very much for your efforts!

    In my case I have been using Windows XP and cygwin for many, many years and updated the installed cygwin tools to the latest versions.

    During the experiments with my cygwin installation and various generated keys, I also installed cygwin's openssh and created the key with it (and double checked by converting it to PuTTY such plink could be used).

    Currently, I am not able to use cygwin's svn anymore. However, I am able to use the Tortoise command line svn (optional install), using the accompanying TortoisePlink (!).

    Unless you have any ad hoc idea what the reason might be that cygwin's svn might not work in my case (other than my local installation/configuration which I will recheck once I have more time in a block at my hands), please consider this issue as closed, as in your case you were able to get it to run.

    Thank you again for looking into this!

    ---rony

    Maybe I uninstall cygwin, remove all traces in my registry and filesystem, and reinstall it again, to see whether that helps solve the issue.

     
  • Chris Tsai
    Chris Tsai
    2013-06-19

    • status: pending --> self-service
     
  • Chris Tsai
    Chris Tsai
    2013-06-19

    Sounds good, thanks for the update and good luck.

    Regards,
    Chris Tsai, SourceForge.net Support