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.
- [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