The HornetQ source code is maintained in a subversion (svn) repository at jboss.org.
The subversion repository is structured in the following way:
This is the root of the svn repository. Nothing much happens here
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 anonsvn.jboss.org which is read only:
svn co http://anonsvn.jboss.org/repos/hornetq/trunk
If you're going to commit anything, you need to use the main repository and check out with a username, for example:
svn co https://svn.jboss.org/repos/hornetq/trunk --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 http://anonsvn.jboss.org/repos/hornetq/tags/HornetQ_3_0_0_beta4
To check out a tag with a username:
svn co https://svn.jboss.org/repos/hornetq/tags/HornetQ_3_0_0_beta4 --username joe_bloggs
Once you've checked out the source, you can move on to Building HornetQ from Source