Version 9

    New Git Repository


    The HornetQ source code is now maintained in a git repository:


    Old SVN Repository


    Previously, HornetQ source code was maintained in a subversion (svn) repository at


    The subversion repository is structured in the following way:


    SVN Repository root


    This is the root of the svn repository. Nothing much happens here


    SVN Repository trunk


    This is "trunk" - the main development branch. Most new development occurs here for the next release.


    If you checkout trunk you'll get access to all the latest work-in-progress features, but please bear in mind that trunk is not stable.


    We make no guarantees of stability with trunk.




    All branches (other than trunk) that we use are created from the following url:


    Sometimes we have a need to create a new branch that's not trunk.


    A typical reason for this would be a developer is working on a large piece of work which may take some significant amount of time to complete.


    While the developer is working on it, they can commit their work on a different branch so they don't affect trunk but they know their work is backed up and others can see what progress they are making.


    An example branch would be:




    We create new tags every time we create a release, and sometimes for other reasons.


    Tags are always created from the following url:



    Tags and branches are really the same thing in svn, they're just a copy of another branch, made using svn copy.


    However, we create tags to basically take a snapshot of a branch at a particular revision so all our releases are repeatable.


    If you want to check out the source for a particular release that's occurred, you'd just checkout the appropriate tag for the release.


    Checkout out source from svn


    First, you'd need to make sure you have a svn client installed on your machine.


    Or if you're using an IDE like Eclipse or IntelliJ you can can use SVN from inside the IDE.


    If you're not going to make any updates you can checkout the source anonymously. In this case you use a mirror repository at which is read only:


    svn co


    If you're going to commit anything, you need to use the main repository and check out with a username, for example:


    svn co --username joe_bloggs


    To check out a particular tag anonymously, for example to check out the (non existent HornetQ 3.0.0 beta4 release)

    svn co


    To check out a tag with a username:


    svn co
       --username joe_bloggs


    Once you've checked out the source, you can move on to building the project.