NOTE: Using CVS with Boomerang is deprecated.

These instructions are here only to guide any users that might still have changes to a CVS copy of the source code to generate patches. These patches can be used against a new Subversion checkout, submitted, or sent to Mike Van Emmerik via email (details below).

Using CVS with Boomerang

Tools needed

  • [Windows] The Boomerang wincvstools Read the README first.
  • [Windows/Mac?] CVSNT (on the right, only select a server)
  • [Debian] apt-get install cvs
  • [Cygwin] Use the Cygwin Setup, and install Devel/cvs
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 CVS (Concurrent Versions System). To retrieve it use the following commands:

cvs login
(empty password)
cvs -z3 checkout -P boomerang

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 active developement, and bugs get fixed every week. To bring your sources up to date, use

cvs update -d

and this will automatically merge the changes on CVS with the ones you made. If the command seems to take ages, abort it and try cvs login first.

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:

cvs update -d && make && ./ Then generate the patch:

cvs 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

cvs update -C

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:

A fresh start

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

cvs update -d -C

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

Last modified: 22/May/2006: Mike: removed ":80" from URL; new cvs server name affects login commands