Metasploit Developer Introduction¶
This document is intended for developers that already have a user account. User accounts are provided to frequent contributors and core feature developers. If you don't have an account, you probably don't need one :-)
Feel free to (ab)use this Wiki and the ticket tracking system for any development-related task. I don't trust Redmine enough to open the bug database up to the unwashed masses yet, but this may change in the future.
Subversion directory layout:
project_name/trunk == HEAD project_name/branches/branch_name == Feature development project_name/tags/tag_name == Milestones and releases
Creating a new branch:
$ svn copy trunk branches/my_branch
Creating a release:
$ svn copy branches/release_dev_branch tags/release_name
Copies are cheap in Subversion (copy-on-write/hardlink), so go crazy with branches if you are working on something that will break trunk.
To obtain a local copy of the Subversion repository:
$ svn co svn+ssh://USERNAME@metasploit.com/home/svn/framework3
Permissions, keyword substitutions, and many other things are bit different with SVN, check out the online guide for more info: http://svnbook.red-bean.com/
Once you've checked out the repo, see the DeveloperGuide.
You may also want to see Setting Up a Development Environment