2018.1 changes to Subversion integration

Summary

Subversion working copies 1.6 and earlier are no longer supported, and it is now required to use a command-line svn client for integration with Subversion.

Note that Subversion allows using higher working copy formats with an older server, so even if you have 1.6 svn server, you could use 1.7 or 1.8 working copy. If for some reasons you still need to use the 1.6 working copy format and cannot update it, please comment on the request.

What happened?

In 2018.1 the SVNKit library has been removed from the IntelliJ platform, resulting in the above changes. There are several reasons for SVNKit removal, including the following:

  • SVNKit is a third-party library and we cannot resolve some outstanding issues it has.
  • SVNKit is used automatically when no command line client is installed, so a user could be forced to check out in an older format when checking out via the IntelliJ platform.
  • SVN 1.6 is no longer supported by Apache Foundation, and the corresponding working copy format usage has also significantly decrease

Previous versions of IntelliJ IDEs supported Subversion copy formats 1.6 (and earlier), 1.7 and 1.8. Working with 1.6 and 1.7 was possible without using command-line svn client, via built-in SVNKit.

If your current working copy format is 1.6, after updating to IntelliJ 2018.1 you will need to upgrade the working copy to a higher version, using the Upgrade action on the Subversion Working Copies tab. You might also need to install a command-line svn client, e.g., command-line tools of TortoiseSVN on Windows. Using latest version is recommended.

SVNKit simply provides a Java implementation of SVN Integration, and standalone command line clients support all the same features as SVNKit does. They also share the same configs by default, so it should not force you to reconfigure much. If you have any issues setting up SVN integration to work with svn client, please contact technical support.

Library removal affects platform plugins, please see the Platform blog post for details.

This entry was posted in EAP Releases and tagged , , . Bookmark the permalink.

19 Responses to 2018.1 changes to Subversion integration

  1. Thanks for this such nice information you might also need to install a command-line svn client, command-line tools of TortoiseSVN on Windows. Using latest version is recommended.

  2. Hakan says:

    Using latest TortoiseSVN version didn’t solve my issue. I’m using TortoiseSVN 1.7. Compatible with my svn server (1.7)

    • Dmitriy Smirnov says:

      And what exactly the issue is? Any errors?
      Check the Subversion Working Copies tab of the Version control toolwindow and make sure all working copies and their format are correctly displayed

      • Raju Gorai says:

        URL:
        Executable is not specified
        Format:
        1.7
        Depth:
        unknown
        Working copy root

        • Dmitriy Smirnov says:

          > Executable is not specified

          You need to tell IDE what executable to use. Make sure svn.exe is on the PATH, or configure the path to the client in Setting – Version Control – Subversion

  3. jakob says:

    I have problems browsing my repository located on a local drive file:///D:/subversion/brj_sources
    When i want to acces a subfolder in the repositor i get a SVN-Error E020024

  4. Jeff says:

    Was this change in the release notes for 2018.1? Browser searches for “svn” or “subversion” didn’t turn it up.

  5. Ovidiu says:

    So if I am using an svn 1.6 server, can I upgrade my local working copy safely? What I mean is having upgraded my local working copy, when I commit through IntelliJ Idea 2018.1 will it not break things on the svn 1.6 server?

  6. Ovidiu says:

    In my previous comment I should have also mention that I am on Windows and already have Tortoise SVN 1.9.7 installed, so I assume IntelliJ Idea 2018.1 would be using that?

    • Dmitriy Smirnov says:

      If you have command line tools of TortoiseSVN installed, you could use it. Make sure svn.exe is either available via the PATH variable, or configured by a full path in the IDE Settings

  7. Jozef says:

    hello, svn+ssh works fine in linux, but using tortoisesvn+ssh and windows is a nightmare. it keeps asking for password all the time, the only solution i could find is key based authentication + pageant. is it possible to make it work with password based authentication (asked once and valid until idea is closed) without storing the password in cleartext in the tunnels section of the config file?

  8. Jozef says:

    i apologize, this probably belongs elsewhere, but u were right. in the end, i had to install also the openssh client, i couldn’t make it work with plink nor tortoiseplink. tested with the newest version 2018.1.3…
    thx

  9. Jin Woo Shin says:

    Cannot get authenticate from my svn+ssh repository(1.7)
    It keep asking username and password.

    Don’t have any problem in Ubuntu version, though.

    • Dmitriy Smirnov says:

      Probably there are some issues with ssh client config.
      Make sure Interactive mode in Settings | Version Control | Subversion is enabled, and the path to the client and key settings are correct in Settings | Version Control | Subversion | SSH

      Please submit a ticket to support if you need assistance.

      • Mario Smeh says:

        Problem is that IntelliJ platform sends windows username as username in svn+ssh authentication. When username on svn+ssh server doesn’t equals windows username authentication fails on server. TortoiseSVN per se is not source of problem because if used standalone form command prompt, for instance: “C:\…\svn.exe list svn+ssh://svn_username@svn_server” works fine. Fill in username in svn+ssh url (“svn+ssh://svn_username@svn_server”) in IntelliJ platform doesn’t help.

        • Dmitriy Smirnov says:

          That is not true. IntelliJ just calls SVN command line, which calls ssh client in turn. default windows username could be used by the ssh client, but only if no username is explicitly specified for the command. Make sure the required username is either a part of the URL, or configured in SSH connection settings in the IDE.

          > Fill in username in svn+ssh url
          It works. make sure you have Interactive mode enabled in Settings | version Control | Subversion, which is a must to work with svn+ssh

Leave a Reply

Your email address will not be published. Required fields are marked *