Home

News: JavaSVN 1.0.0 : Pure Java Subversion Client Library

  1. JavaSVN 1.0.0 has been released and available for download at http://tmate.org/.

    JavaSVN is a pure Java Subversion client library, that provides the following major features:

    - "http","https","svn" and "svn+ssh" protocols support
    - Support for Subversion 1.2.x features as well as support for older Subversions servers (1.1.x, 1.0.x).
    - API to perform operations on Subversion working copy and repository, that supports all operations supported by JavaHL and command line client as well as some unqiue features.
    - Direct Subversion repository access API, i.e. one do not need to create or manage working copy to browse or modify Subversion repository.
    - Persistent connections and connections pool support for better performance.
    - JavaHL 1.2. API implementation to let JavaSVN server as transparent replacement for JavaHL bindings.
    - Complete javadoc documentation, tutorials and examples available at JavaSVN web site.
    - JavaSVN library is available as ready to use Eclipse plugin that could be installed from the update site.

    Additionally there is a sample command line client implementation based on JavaSVN. This implementation pass all relevant python tests available for Subversion 1.2.3.

    Read more on JavaSVN at http://tmate.org/

    With best regards,
    TMate Software.

    Threaded Messages (41)

  2. great tool, great support[ Go to top ]

    I've been tracking the development of the subclipse plugin for eclipse and it's been pretty amazing the amount of effort the subclipse team has put into it.. when JavaSVN got merged in, the few issues were ironed out quite hastily and the mailing list is a great place for support.

    anyway, congrats on hitting one point oh.
  3. Great job![ Go to top ]

    Great job!

    I hope the support for SVN will be included in most popular IDE(IDEA, NetBeans, JBuilder) after this release.

    Each IDE has its benefits but I have to use Eclipse becase only Eclipse has acceptable SVN support.

    Best regards,
    Vitaliy
  4. Great job![ Go to top ]

    IDEA 5.0 already has got SVN support, and my impressions were rather positive.
  5. SVN for IDEA[ Go to top ]

    Each IDE has its benefits but I have to use Eclipse becase only Eclipse has acceptable SVN support.

    Try IDEA 5.0, very good SVN support.

    james
  6. IDEA[ Go to top ]

    As far as I know. IDEA uses JavaSVN to access SVN repository.
  7. Great job![ Go to top ]

    Jbuilder also already has got SVN support.
  8. JBuilder SVN?[ Go to top ]

    Jbuilder also already has got SVN support.

    Since when? I just looked at the product fact sheet of JBuilder 2005 and 2006, but SVN does not occur. It seems that it got only suuport for StarTeam, ClearCase, VSS, and CVS.

    Was your statement meant to be a joke, that I didn't understand?

    Regards,
        Dirk
  9. JBuilder SVN?[ Go to top ]

    JBuilder has had Subversion support since JB 2005. It's absence from the feature matrix is a mystery, but the fact is, it's there, because I have been using it.
  10. JBuilder SVN?[ Go to top ]

    If I understand correctly, JBuilder 2005 uses native svn binaries (e.g. svn.exe on Windows) for Subversion integration. I think JBuilder Subversion integration is not as powerful as Subclipse.

    Newer versions of JBuilder that are based on Eclipse platform will allow users to use Subclipse.

    Alexander Kitaev.
  11. JBuilder 2005[ Go to top ]

    JBuilder 2005 has good enough SVN support. I used it, together with Tortoise and I was sattisfied.

    Oleksa
  12. ...but I have to use Eclipse becase[sic] only Eclipse has acceptable SVN support...

    If your preferred IDE doesn't have the SVN support you want there is always TortoiseSVN, which in my opinion is better (easier to use, more complete, way more transparent) than the current versions of the IDEA & Eclipse's plugins.

    There is also the Subversion command line which is also reasonably easy to use and well documented.

    IDEA 5.0 is fine for updates, commits, etc but when you do more repository admin functions it falls short. TortioseSVN is much easier to use, teach to members of the team.
  13. IDE SVN support - TortioseSVN[ Go to top ]

    ...but I have to use Eclipse becase[sic] only Eclipse has acceptable SVN support...
    If your preferred IDE doesn't have the SVN support you want there is always TortoiseSVN, which in my opinion is better (easier to use, more complete, way more transparent) than the current versions of the IDEA & Eclipse's plugins.There is also the Subversion command line which is also reasonably easy to use and well documented.IDEA 5.0 is fine for updates, commits, etc but when you do more repository admin functions it falls short. TortioseSVN is much easier to use, teach to members of the team.


    TortoiseSVN is a windows only solution (I prefer Linux).
    TortoiseSVN (or command line) is useless when you do refactoring (move/rename classes/packages).


    I hope IDE makers will understand that SVN support _must_ be part of IDE (not external tool) .

    Regards,
    Vitaliy
  14. RE: Great job![ Go to top ]

    Great job!I hope the support for SVN will be included in most popular IDE(IDEA, NetBeans, JBuilder) after this release.Each IDE has its benefits but I have to use Eclipse becase only Eclipse has acceptable SVN support.Best regards,Vitaliy

    IDEA 5 has built in support for svn. I've been using it for a few months now and it works well.
  15. Great job![ Go to top ]

    I hope the support for SVN will be included in most popular IDE(IDEA, NetBeans, JBuilder) after this release.Each IDE has its benefits but I have to use Eclipse becase only Eclipse has acceptable SVN support.Best regards,Vitaliy

    You wanker!
    I know already that both IDEA and NetBeans offer excellent subversion support. NetBeans has a generic version control plugin, so regardless if one project uses cvs and the next subversion, the interface to versioning control (apart from any specific features) is identical. This has been around for around two years now. Just how outdated could you be!

    You've been marked as noisy :P
  16. Great job![ Go to top ]

    You wanker!

    Great beginning - really showing maturity and intellectual integrity here...
    I know already that both IDEA and NetBeans offer excellent subversion support.

    Have you used it?

    The support has minimal integration with the IDE, and is hard to use - I essentially use the command line client when using Netbeans with svn.

    [disclaimer: i don't think I've used the latest version]
    NetBeans has a generic version control plugin, so regardless if one project uses cvs and the next subversion, the interface to versioning control (apart from any specific features) is identical. This has been around for around two years now.


    Actually, svn workes differently from CVS in a number of important ways (most noteably handling of directories)

    Propper integration with the IDE would mean that the normal actions you undertake to rename, etc would be integrated with version control.

    This is especially vital for refactoring, where the effort to manually replicate (in the version control system) the work the refactoring feature does would remove the benefit of the refactoring feature.

    Phasmal
  17. Great job![ Go to top ]

    You wanker!

    Be not judges of others, and you will not be judged.
    I know already that both IDEA and NetBeans offer excellent subversion support.

    Than means that you never used SVN on your projects.
    IMHO Non of these IDEs has full or at least acceptable support for SVN.
    People working with SVN still have to use external tools.
    Just how outdated could you be!
    Maybe you live in future... or dreams? ;-)

    Regards,
    Vitaliy
  18. Direct SVN access[ Go to top ]

    Direct Subversion repository access API, i.e. one do not need to create or manage working copy to browse or modify Subversion repository.

    How does that work? Is this for non-routine repository operations, or can I actually work on a project without creating a working copy?
  19. Direct SVN access[ Go to top ]

    You may perform all operations directly on Subversion repository. Technically it looks the following way:

    - create a connection to Subversion repository using URL.
    - perform an update operation and get your repository files, at this point you may store these files on disk, in memory, or deserialize them into your object model.
    - additionally you probably would store revision number at which update was performed.
    - after you've modified your object model you could do a commit, sending new file contents to the repository.

    As you could see, in the above scenarion there is no requirement to store a working copy on disk. Just keep revision number somwhere and use it for commit operation. You do not need to keep "base" contents of the file as well.

    Examples of update/commit operations with the "direct" API are available at http://tmate.org/

    Alexander Kitaev.
  20. Great news![ Go to top ]

    We will definitely have a look at this library for our Subversion integration into VisionProject!

    Thanks!

    /Tommy
    VisionProject
    Issue tracking and project management made easy
  21. Great! I hope a great client like TortoiseSVN for OS X comes along more quickly then. If someone knows of an existing one let me know.
  22. You should check SmartSVN. It uses JavaSVN and AFAIK works well on OSX (http://smartsvn.com/)

    Alexander Kitaev.
  23. Subclipse works well[ Go to top ]

    I've had good experiences with Subclipse. I use SVN 1.2 with Eclipse 3.1 and the latest version of Subclipse.

    Sandeep
  24. You should check SmartSVN. It uses JavaSVN and AFAIK works well on OSX (http://smartsvn.com/)Alexander Kitaev.

    Thanks, I'll check SmartSVN out.

    ... Subclipse isn't an option since I use IDEA 50, which has ok SVN integration - good for day to day dev.

    I was looking for a better repository managment client: Easy tagging, branching, repository browsing, etc.
  25. Apache Ant[ Go to top ]

    I've noticed that Apache Ant has already started to integrate SVN by calling the execuatable.

    Is JavaSVN the better solution for Ant?
  26. Apache Ant[ Go to top ]

    JavaSVN is defenitely better (from my point of view), except you're using "file" repository access that is not supported in 1.0.0 version of JavaSVN. The main benefit of using JavaSVN is that your build.xml will work in any envrionment and you do not have to install subversion executables or native bindings (JavaHL) that may not be available for that particular OS to make your build.xml work.

    You may also use JavaSVN from build.xml by running JavaSVN-based command line client that is included into JavaSVN distribution. You will find an example at http://tmate.org/svn/kb/user-guide-ant.html

    Another option is svnAnt (http://subclipse.tigris.org/svnant.html) - it uses native bindings (JavaHL) but you may make it use JavaSVN. Probably there is already support for it in the latest version of SvnAnt, but better to check this in svnAnt mailing list.

    Finally you may implement your own ant tasks using JavaSVN API.

    Alexander Kitaev.
  27. Apache Ant[ Go to top ]

    Can I use javaSVN in Ant for checking out from ClearCase instead of ClearCase ant tasks(<CCCheckin>,<CC....)?

    sithu
  28. Apache Ant[ Go to top ]

    Of course you can not use JavaSVN to work with ClearCase VCS, because JavaSVN only works with Subversion (that is VCS not related to ClearCase).
  29. Apache Ant[ Go to top ]

    Actually, it is very easy to write an Ant task based on the JavaSVN API. I came up with a pretty rough-and-ready task plugin a while back ( I havent been using SVN as much lately so I havent spent any more time on it), and the results are here:

    http://www.researchkitchen.co.uk/blog/archives/11
  30. Congratulations on 1.0[ Go to top ]

    Hi,

    Congratulations and thanks for all your hard work on JavaSVN.

    We started with Subversion at my main client at the beginning of this year. For several months it was all command-line access. It's great to know how to use the command line, but it gets rather tiresome for day-to-day operations with SVN because of the long paths that often occur in Java projects.

    We tried Tortoise for a while, but I didn't like it much -- YMMV.

    When SmartSVN EAP stabilized we started to use that, and I am now a delighted SmartSVN customer. It's a great tool, a pleasure to use.

    Finally IDEA 5 came out and its SVN support, also due to JavaSVN, is great, particularly for refactoring. I am now enjoying the long-awaited dream of complex moves and renames made easy, while preserving full history.

    I'm also a happy TMate customer, and looking forward to TMate being able to manage my SVN change sets the way it does for CVS.

    Well done Alexander!

    John Hurst
    Wellington, New Zealand
  31. great news[ Go to top ]

    I've been using svnant with tmate javasvn for a while. Also I've used javasvn on a little private project. The API is pretty nice and you can lots with it.

    Great stuff.
  32. Trac[ Go to top ]

    BTW (a little off-topic):

    Another great free Subversion tool (not Java-based :-() is Trac. (http://www.edgewall.com/trac/.)

    This is a web-based repository browser and project management tool. It provides a great web-based view into the repository, and also a wiki and a simple issue tracking system.

    The magic of it is that all these components are integrated, so wiki entries and issue tickets can link to change sets, change sets can link to tickets, etc. It's very lightweight but quite powerful.

    Worth it just for the repository browser alone, but if your team doesn't already have a wiki or an issue management system, it is pretty compelling.

    John Hurst
    Wellington, New Zealand
  33. Trac[ Go to top ]

    BTW (a little off-topic):Another great free Subversion tool (not Java-based :-() is Trac. (http://www.edgewall.com/trac/.)This is a web-based repository browser and project management tool. It provides a great web-based view into the repository, and also a wiki and a simple issue tracking system.The magic of it is that all these components are integrated, so wiki entries and issue tickets can link to change sets, change sets can link to tickets, etc. It's very lightweight but quite powerful.Worth it just for the repository browser alone, but if your team doesn't already have a wiki or an issue management system, it is pretty compelling.John HurstWellington, New Zealand

    I have to second that. If you use SVN, I'd say check out Trac.

    Sandeep
  34. Trac[ Go to top ]

    It's very lightweight but quite powerful.Worth it just for the repository browser alone, but if your team doesn't already have a wiki or an issue management system, it is pretty compelling.John HurstWellington, New Zealand

    I'll second that. The combination of Subclipse in the IDE and Trac for ticketing is very compelling.

    -Brian
  35. Scarab[ Go to top ]

    BTW (a little off-topic):Another great free Subversion tool (not Java-based :-() is Trac.

    On the topic of issue tracking tools: Scarab is an excellent, and completely flexible, java based issue tracking/management tool with subversion integration.
  36. Here's a slightly relevant anecdote...

    I'm currently integrating Subversion into a forms and content management system I'm working on. Subversion provides an amazing amount of features in a package, and in this case it really bootstrapped the development processes, enabling us to jump straight to user visible features that the client wants.

    I investigated JavaSVN very closely, and I was very impressed. However, I ended up having to use the native JavaHL bindings, as I really needed file based access. This is a great pity, as the build process in complicated a lot by this.

    I can understand the problems involved in implementing the file protocol (i.e. re-implementing the entire database logic), as opposed to the wire protocol, but it was still a bit disappointing. Anyway, I can wish for it.
  37. We're planning to add "file" protcol support (for 'fsfs' type of repositories) till the end of this year.
  38. We're planning to add "file" protcol support (for 'fsfs' type of repositories) till the end of this year.

    file protocol support and the fsfs filesystem plugin are two completely different things. The protocol you're using doesn't care one bit about what backend filesystem plugin you're using.
  39. Thanks for clarification Chris,

    From the end-user point of view, there will be a support for accessing 'fsfs' type of repositories through the "file" protocol. Internally it could be implemented as a separate "file" protocol module that uses 'fsfs' filesystem implementation.

    Do I miss something?

    Alexander Kitaev.
  40. Missing support for the "file" protocol[ Go to top ]

    The "file" protocol cares what filesystem you are using!

    What Alexander is saying is his support for file:// will support FSFS only, not BDB filesystems. (At this stage, anyway...)

    John Hurst
  41. TRAC with Toptix for ticketing[ Go to top ]

    I need more info about edgewall TRAC. I wish to know if I can work it with the ticketing application by TOPTIX. this system is running in a lot of theaters, but I don't know if the Java DB will run with TRAC. Any one got idea for it? Toptix is an Israeli company so I don't know if they are using different versions in there.
  42. What features are you going to support in next release? Are you going to support file repository?

    And what has happened with project license? Previous versions of JavaSVN were distributed by BSD-like licenses but 1.0 is distributed by GPL-like.