SourceForge.net Logo

Using Subversion with Boomerang

Tools needed

Subversion:
  • [Windows] TortoiseSVN is a quite nice GUI Subversion client; it uses the context menu (right mouse button) of Windows explorer
  • [Debian] sudo apt-get install subversion
  • [Cygwin] Use the Cygwin Setup, and install Devel/subversion
  • [All] Any other subversion client; just search for one.
Patch: (only for contributing)
  • [Windows] GNU Patch
  • [Debian] apt-get install patch
  • [Cygwin] Use the Cygwin Setup, and install Utils/patch

Retrieving the Source

The Boomerang source is kept in Subversion (a revision control system). To retrieve it use the following command:

svn co https://boomerang.svn.sourceforge.net/svnroot/boomerang/trunk/boomerang my-directory-name

or if using TortoiseSVN, follow the instructions at the end of this page.

This will create a directory boomerang, which will contain the source code. You can now configure/make Boomerang, as described in Making Boomerang.

Updating Boomerang

Boomerang is under sporadic developement. To bring your sources up to date, use

svn update
or the "SVN Commit" context menu if using TortoiseSVN

and this will automatically merge any changes on Sourceforge with the ones you made.

Submitting changes

First of all: Thanks for contributing! We really can't build the perfect decompiler all by ourselves!
Second: Please check out the Coding Conventions

First, update and test:

svn update && make && ./functest.sh
(or update as above instead of svn update).

Then generate the patch:

svn diff -u > descriptivefilename.patch

and review your patch to see if it only contains changes which are related to the subject you are submitting your patch on. If it doesn't... hand edit the file and remove the unrelated chunks.
Please note: one subject one patchfile. So if you improved performance, and also fixed an unrelated bug, you should submit two patches.

Then the most important part: Test your patch! I'm usally working on only one subject, so I can just clean my directory with

svn update
(Note: in the CVS instructions, there was a -C in the above. I don't think that there is an equivalent requirement for Subversion.)

then I apply my patch:

patch -p 0 < descriptivefilename.patch

and make and test boomerang as in Making Boomerang.

It should only have known failures. If everything is OK then you can mail your patch to the Boomerang mailing list or directly to Mike van Emmerik: emmerik@users.sourceforge.net.

A fresh start

If you have changed files in your boomerang directory, and would like it to get a clean copy, use:

svn update
Note: in the CVS instructions, there was -d and -C in the above. I don't think we need either with Subversion.

This will backup all changed files and replace them with fresh ones from the repository.

Downloading Boomerang with TortoiseSVN

First install TortoiseSVN itself, then use Windows explorer to create the directory where you want boomerang checked out to. Use the context menu (usually right mouse button) and select "SVN Checkout...":

In the "URL of repository" field at the top of the Checkout dialog box, enter "https://boomerang.svn.sourceforge.net/svnroot/boomerang/":

Hopefully soon you will see this:

Last modified: 28/Oct/2012: Mike: Modified from the CVS instructions