Subversion 1.7 support update

We’ve received a number of questions related to the support for Subversion 1.7 in IntelliJ IDEA 11 and related IDEs. With this post, we’d like to provide an update regarding the current status of the support and our future plans.

As you may know, IntelliJ IDEA relies on the SVNKit library for its Subversion support. Subversion 1.7 is a huge release in terms of the internal changes, and although the SVNKit team started work on it a long time ago, this work is unfortunately not yet finished.

We’ve been working closely with the SVNKit team and providing them feedback regarding the open issues that need to be resolved before we can fully rely on the new SVNKit in our integration. We’ve also included an experimental SVN 1.7 plugin in one of the beta releases of IntelliJ IDEA 11. However, due to major performance problems discovered during our testing, we’ve had to remove the plugin from the final release. Therefore, IntelliJ IDEA 11 and other IDEs based on the same version of the platform (PhpStorm/WebStorm 3.0, PyCharm 2.0) do not support Subversion 1.7.

However, we’re confident that the remaining open issues are going to be resolved in the coming months, and we plan to include full Subversion 1.7 support in the forthcoming IntelliJ IDEA 11.1 update, planned for release in late Q1/early Q2 2012. The Early Access Preview testing for IntelliJ IDEA 11.1 will begin early next year. Updates for PyCharm and PhpStorm/WebStorm will also be released around that time.

If you can’t wait for the IntelliJ IDEA 11.1 EAP to begin, you can build the plugin from source today. In our GitHub repo, the svn4idea plugin is the new plugin updated for SVN 1.7 compatibility and bundling the new SVNKit, and svn4ideaOld is the plugin currently shipped with IntelliJ IDEA 11.

Note that if your main reason for upgrading to SVN 1.7 is better update performance, you can achieve this with the exising IntelliJ IDEA integration and older SVN versions. In order to do that, please enable the “Update administrative information only in changed subtrees” option under Settings | Version Control | Subversion.

Also note that we do not currently plan to release SVN 1.7 compatible updates for IntelliJ IDEA 10.5 or older releases.

This entry was posted in New Features and tagged . Bookmark the permalink.

50 Responses to Subversion 1.7 support update

  1. Stephan says:

    Is it possible in IDEA 11 to use a 1.6 svn working copy with a 1.7 server? In IDEA 10.5, this was not possible because the included SVNkit version did not use the correct paths on the server.

    To clarify: It’s only about using a plain 1.6 wc with a 1.7 server, not about 1.7′s new features and working copy format.

  2. VISTALL says:

    I use already it.

    Question: if i submit exception(from svn plugin 1.7) – u view it(and fix) or it ignored?
    another words, You need to test plugin (svn 1.7)?

  3. Johan Corveleyn says:

    Like I also suggested in the issue tracker regarding SVN 1.7 support: isn’t it feasible to make svn4idea more independent of SVNKit? Like Subclipse, which relies on an abstraction API that can talk to either JavaHL, SVNKit, or commandline svn.

    That would take one blocking dependency out of the equation. And it still allows for SVNKit to add value (through various optimizations, extra features, …), without blocking SVN 1.7 support in general.

    Also, when talking about working copy performance: your suggestion of using “Update administrative information only in changed subtrees” is absolutely no match for the performance improvements one can get with the 1.7 working copy format (at least on Windows).

  4. yole says:

    Johan,
    We definitely do not plan to introduce any abstraction API; this would simply multiply the amount of work (both dev and testing) we would have to do. If we ever decide to decouple IntelliJ IDEA from SVNKit (which is possible but far from decided), we’ll drop it completely and use the command line instead.

    As for performance, which operations are you talking about? Specifically for update operations, our testing has shown very similar performance between the two. Naturally, there are other operations for which SVN 1.7 will be faster and which are not affected by the option.

  5. trukhinyuri says:

    Thank you for the quick answer!

  6. Johan Corveleyn says:

    Yole,

    I think using the JavaHL bindings of SVN would be even better than using the command line. That way you can still talk to a clean API, in-process, … and it’s available much quicker than SVNKit (because it’s released by the SVN project itself).

    But I understand this is not a short-term thing. And yes, offering the flexibility to the user to use either SVNKit, JavaHL or the commandline, by using an abstraction layer, would be even more work (but might be valuable to users, so it’s a bit of a cost/benefit trade-off).

    About performance: how did you test this? I’m just wondering how to do this technically, because I find it difficult to measure things like “svn update” from inside IDEA (except by using a stopwatch). Apart from “update” also “status” is a very important operation, which is run very often and which benefits a lot from 1.7.

    Further:
    - What operating system and filesystem?
    - Size of the working copy (# folder and # files)?
    - What kind of hard disk?

    I’m mainly looking at laptops with 7k rpm disks, with Windows 7 (NTFS) and rather large working copies. On these systems I found huge performance gains for “update” and “status”, when comparing with commandline SVN clients. Both with “hot” and “cold” disk caches. As I said, I don’t know how to measure those same things through IDEA.

  7. Irina Chernushina (JetBrains) says:

    @Stefan

    Yes, IntelliJ IDEA 11 is expected to work ok with Subversion 1.7 servers.
    There used to exist some problems, but they were fixed.

    @Johan,

    We are considering JavaHL usage, but we are not sure about that, and we don’t plan it for the near future.
    As for performance, I will consult the collegue who did the testing.

  8. Jan Hoskens says:

    Hi,

    I just checked out the code and built the experimental plugin svn4idea. It didn’t create a jar or plugin package though, so I packed the output into jar myself and aggregated it with the stuff from the plugin’s ‘lib’ directory. I then removed the svn4ideaOld from my intellij idea ultimate plugins directory and put in the new one. I can see the plugin in the preferences, but the changes screen is disabled for my project. I already update the project’s svn meta-data to the newer 1.7 structure, so I thought I could directly use it with the new plugin. But so far I cannot synchronize? Am I missing something?

    Regards,
    Jan

  9. Jan Hoskens says:

    The previous problem I had with not being able to open the changes view was fixed when I removed all idea files (mvn idea:clean) and did a re-import of the project.

    So going from the old to the new plugin needs a fresh start I guess?

  10. fishbone says:

    ‘If you can’t wait for the IntelliJ IDEA 11.1 EAP to begin, you can build the plugin from source today’

    How can I use such a build with phpstorm? Is a compiled build available? If so, where can I get it and what do I have to do in order to use it with phpstorm?

    Unfortunately, it isn’t possible to downgrade 1.7 working copies to 1.6. I cannot commit at the moment, due to non-working code, therefore I can’t make a new checkout with 1.6.

    Secondly I have already migrated lots of working copies to 1.7. Converting them back to 1.6 would take a while.

  11. Denis says:

    Could you please share your plugin version(jar-file)?
    I’m not sure, if it is permitted to post email addresses here, but please send it to deni_sim@mail.ru

  12. Denis says:

    Found experimental plugin:
    http://dump.ru/file/5497600
    For me it solved all the problems… I can update and commit through idea. The only problem(I don’t know, if it is a consequence) – I can’t use teamcity plugin anymore – no suitable projects found

  13. Irina Chernushina (JetBrains) says:

    You can get 1.7 plugin from plugin repository: http://plugins.intellij.net/plugin/?idea&id=6660
    Also, you will need to change VCS mappings to “Subversion 1.7 Experimental” instead of “Subversion”

  14. fishbone says:

    @Irina Chernushina

    yeah it’s marked to be compatible with PhpStorm in the plugin repository. Nevertheless, PhpStorm itself marks the plugin to be “incompatible with the current installation”. PhpStorm states to be up to date when checking for updates. (PhpStorm 3.0 #PS-111.19)

  15. Andrey says:

    Guys,
    I upgraded to phpStorm 3.0 in hope the svn rep 1.7 is to be supported.

    (*) “We definitely do not plan to introduce any abstraction API; this would simply multiply the amount of work (both dev and testing) we would have to do.”

    (*) svn 1.7 support “planned for release in late Q1/early Q2 2012″

    Svn is one of the most popular VCS, and (please remember) you are competing to FREE Eclipse who has support of svn1.7. It is soo unagile and user-unfriendly. Why don’t you release svn1.7 plugin for repositary with warning? So “..in late Q1/early Q2 2012″ WTF?

    I am with IDEA since early 2003 and remember how innovative it was. It is SAD to see how the momemtum gets away..

    Best regards,
    Andrey

  16. Michael says:

    This is complete bollocks. I’m sick of paying for basic feature upgrades, and fixes to bugs each time a dot release of something like Spring/SVN/Hibernate is released.

    Eclipse and NetBeans are not as good, but at least I don’t have to fork out hundreds of pounds in upgrades.

  17. Maxim Mossienko says:

    @fishbone, @Andrey Subversion 1.7 plugin is compatible with PhpStorm 3.0.1 EAP
    @Michael Please escalate the issue of necessary bug fixes. Obviously we can not provide support for major features of third party products released after IntelliJ IDEA is released.

  18. inge johnsen says:

    This is horrible. You can’t really live without svn 1.7 support for this long. This is one of the most basic functions you really need in an IDE.

  19. Denis says:

    IDEA plugin uses svnkit library.
    As it is stated on it’s site(http://svnkit.com/download.php):
    “Lastest stable version of SVNKit (1.3.7) is not compatible with Subversion 1.7 working copy format. However, SVNKit 1.7 is under development now and we plan to release it in February 2012. Fully functional beta will be ready in January 2012.”
    So we have to wait…

  20. Ron says:

    Sorry to hear that you don’t plan on proving and update for 10.5 users. Seems that it should be reasonable for one version back users to get subversion support. Hope you will consider making it available for 10.5 users. It has been less than a year since we moved to 10.5 (No we did not make the update cutoff).

  21. Dave says:

    “Also note that we do not currently plan to release SVN 1.7 compatible updates for IntelliJ IDEA 10.5 or older releases.”

    That is NOT acceptable.

  22. Ryan Shillington says:

    Seriously, what else could you be working on other than this? This is taking way too long.

  23. Marvin Wolfthal says:

    Your approach to SVN integration is clearly not working if it is taking this long. Listen to your users before it you lose them.

  24. Oblio says:

    I agree with Ron and Dave – given when 1.7 came out, it’s not fair to 10.5 users not to get an update just because the library you depend on was slow to release.

  25. yole says:

    Subversion 1.7 certainly came out after IntelliJ IDEA 10.5, so I’m not sure how it proves anything.

  26. Michael Rush says:

    I was able to get this to work by downloading the SVNKit 1.7.0 alpha-2 version (standalone/without JNA) and replacing just the svnkit jar in the IDEA lib folder. I have IDEA 10.5.4, running on OS X 10.6.8.

  27. Ron says:

    Actually my point around supporting it in 10.5.4 was that having subversion support is kinda of a key part of using the IDE and requiring updating your IDE to the next major version to go from 1.6 to 1.7 subversion support seems like something that would be handle with a patch our maintenance release and not require license renewal.

    We are big fans of intellij and I am sure we will update to the next version but we just did it 6 months back and we don’t update that frequently. Hope you guys change your mind and given Michaels post might not be that difficult.

  28. Larssa Andin says:

    I also go this to work using pre release from SVNKit. I used SVNKit 1.7.0 beta2 version (with JNA). I placed the new libs in JetBrainsIntelliJ IDEA 11.0.1pluginssvn4ideaOldlib and removed the old versions and then restarted and it worked. Can’t say I’ve tested it very much, but basic operations work fine now on a 1.7 checkout (that I did with Tortoise).

    It looks like a stable release of SVNit 1.7 is getting close, so hopefully this whole issue will go away then.

  29. Richard Brosnahan says:

    Hi Jetbrains,
    I know it’s easy to rationalize your delay getting svn 1.7 support into your products, but we paid for your products, and they don’t work as advertised. They are not compatible with subversion.
    It’s interesting to know why, but that doesn’t help the end user, who wants to use the product as advertised. If you insist on using SVNKit, perhaps you should assign a Jetbrains developer to work with the opensource team developing SVNKit. This should have happened way back when svn 1.7 was announced, before it was released.
    The opensource dev team for SVNKit don’t have any skin in the game, so they can develop at their own pace. Jetbrains does have skin in the game, and a responsibility to their customers.
    There’s my two cents. Others may disagree.

  30. Tegan Clark says:

    Well; I don’t really find any of this very comforting. We’ve pay Jetbrains good money (over $10,000) to license the commercial version of IntelliJ for my entire company. We pay upgrade licenses about every year.

    Now to hear that IntelliJ is not going to support svn 1.7 until SIX MONTHS after it’s release is just not acceptable for a commercial product. And to blame it on some open source project is just nonsense. The commercial version of Intellij isn’t open source! We pay for it!

    Will you be offering us 50% discounts on our 11 upgrade licenses because a key component doesn’t work for 1/2 the time we have licensed the product?

  31. yole says:

    Richard,
    We collaborate very closely with the SVNKit team to get SVN 1.7 support done as fast as possible.

    Tegan,
    I’m not sure where the SIX MONTH figure comes from. IntelliJ IDEA 11.0 was released in December. Subversion 1.7 support is available in Early Access Preview today, and will be available as a production release in less than a month.

  32. Bjorn says:

    I’m trying out PyCharm, and the first issue I ran into was an error message saying “Please upgrade your Subversion client to use thisworking (sic) copy.” If you fix it before my 30 days are over I’ll buy a license, if not… maybe I’ll check back next year…?

  33. Bjorn, SVN 1.7 is only supported in PyCharm 2.5 (http://www.jetbrains.com/pycharm/nextversion). Is this the version you are trying?

  34. Mark Celano says:

    I also got intelliJ 10.5 IDEA to work by removing the jna.jar, and svnkit.jar from the plugin lib (IntelliJ IDEA 10.5pluginssvn4idea), and adding the 1.7.4 svnkit.jar with jna. I would have expected an update from JetBrains even for the 10.5 version.

  35. Ben says:

    Hi JetBrains,
    Can you provide an update please? If I upgrade to PHP Storm 4.0 today and then upgrade my subversion working copy to 1.7 will it work OK?
    Great IDE BTW – many thanks!
    Ben

  36. yole says:

    Ben,
    PhpStorm 4.0 fully supports Subversion 1.7.

  37. Heikki says:

    @Mark Celano Did you do anything else for the plugin to function with working copy v1.7? Are you running in 32/64bit?

    I dropped svnkit-1.7.4-v1.jar + jna-3.4.0.jar to plugins lib-folder but It does not seem to work. Win7/64bit & running IDEA (10.5.4) in 64bit.

    I’d really appreciate if Jetbrains would decide to support SVN 1.7 for 10.x.

  38. Alex Wajda says:

    Replaced svnkit-1.7.4-v1.jar + jna-3.4.0.jar – do NOT work!
    Also tried replacing svnkit+jna+trilead and svnkit only – nothing helped.
    (IDEA 10.5.4, Fedora 17, 64bit)

    IntelliJ, we are all waiting for your support! We just upgraded from Eclipse last year. Our company has bought a dozen lincenses of IDEA 10.5. And if it turns out that 10.5 become ancient that soon without any support for 1 even version back I would say that we our company would rather switch back to Eclipse than upgrade to 11.

    Please add SVN 1.7 support to Idea 10.5 !

  39. OZgur says:

    I am a long time Eclipse user. I thought today was the day to switch to IDEA. Nope, not yet without subclipse support

  40. yole says:

    OZgur,
    Sorry, I don’t get what you mean. Subversion 1.7 is fully supported in IntelliJ IDEA 11.1. Subclipse is an Eclipse plugin; IntelliJ IDEA has its own Subversion integration plugin.

  41. Mark Celano says:

    You need to include all *.jar files from the SVN Kit Standalone Version: http://www.svnkit.com/org.tmatesoft.svn_1.7.5-v1.standalone.zip, removing jna.jar, and svnkit.jar from the plugin lib (IntelliJ IDEA 10.5pluginssvn4idea)

  42. Anand says:

    Thank you Mark Celano, your suggestion was helpful.

  43. Angelrouet says:

    Very thanks MARK !! you save my life !!

  44. AP says:

    Thanks MARK !!!

  45. ML says:

    Thanks Mark!!!!!! It works ))

  46. cristi says:

    How about making phpstorm or intelij work with subversion 1.8?

    any ideas?

    thanks

  47. Joshua Smith says:

    I am interested in PHPStorm working with 1.8 as well.

  48. yole says:

    For latest status on SVN 1.8 support, please watch http://youtrack.jetbrains.com/issue/IDEA-94942

  49. DickeII says:

    Thanks Mark!!

    v. 10.5.2

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>