Development environment
From FusionForge Wiki
This page provides guidelines on how to setup a development environment, for fusionforge developers / contributors.
Work in progress / TBD
Contents |
Hacking with SVN
See Installing/SourceCode which contains instructions on how to checkout the source from the subversion repository.
Hacking with Bzr
Here are some (read-only) bzr branches (hourly) synced from the SVN, that can be branched from to start your own branch :
http://fusionforge.fusionforge.org/bzr/trunk http://fusionforge.fusionforge.org/bzr/branches/Branch_5_0 http://fusionforge.fusionforge.org/bzr/branches/Branch_5_1
Publishing personal BZR branches
Developers may use their accounts in the fusionforge project on the forge, to publish their personal branches in their home dirs, under their ~/public_bzr/
First they will need to initialize a bzr repo there :
ssh USER@scm.fusionforge.org mkdir ~/public_bzr bzr init-repo bzr+ssh://scm.fusionforge.org/home/users/USER/public_bzr
Then they can initialize bzr branches into the repo as :
bzr init bzr+ssh://scm.fusionforge.org/home/users/USER/public_bzr/a_branch/ or bzr init bzr+ssh://scm.fusionforge.org/~USER/public_bzr/a_branch/ (requires Bazaar >= 2.1)
Once they bzr push whatever to bzr+ssh://scm.fusionforge.org/home/users/USER/public_bzr/a_branch, it becomes available for branching off through http://scm.fusionforge.org/bzr/fusionforge/users/USER/a_branch
Using Bazaar on top of Subversion
Using Bazaar as a Subversion client can make life easier. A possible workflow is described at http://www.szakmeister.net/blog/2009/oct/12/bazaar-subversion-super-client/
Hacking with Git
An experimental SubGit gateway has been installed on fusionforge.org. To use it, simply clone the git repository:
git clone git+ssh://scm.fusionforge.org/srv/git/fusionforge/fusionforge.git
All your commits will be replicated live on the Subversion repository. Current limitations are:
- Highly experimental, may be discontinued at any time.
- Subversion post commits hooks are not fired.
But, on the other side, you'll benefit of a pure & fully functional Git repository.
Hacking with github
A Git tree is maintained by aljeux at : https://github.com/aljeux/fusionforge
Hacking with git-svn
You may use git-svn to sync with the SVN repo, with a commandline of the form :
git svn clone --stdlayout "svn+ssh://scm.fusionforge.org/svnroot/fusionforge"
Beware, it will be loooong to clone
Attention, if you wish to keep in sync with aljeux's repo (see above), you'd better do instead :
git svn clone --stdlayout "svn+ssh://scm.fusionforge.org/srv/svn/fusionforge"
so that the git-svn-id: are common between his and yours, and you are able to publish your trees to gihub and share merges more easily.
Running automated tests, VM, SandBox
A test suite (using phpunit, Selenium and other tools) is available to test FusionForge in an automated way.
A Virtual machine development environment is available to help setup such a test environment.
Debuging php with Eclipse
An "how-to", explaining how to setup a php debug environment can be found here
TODO :
- Unit tests
- Continuous integration
See also :


