SCM

FusionForge

Development environment

From FusionForge Wiki

Jump to: navigation, search

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 :

Powered By FusionForge