wiki:DevelopersCorner

Version 14 (modified by pagameba, 17 years ago) ( diff )

--

Fusion Developers Corner

This is the spot for a lot of developer-related information.

Committers

Committers are people with valid OSGeo User IDs that have permission to commit changes to the SVN repository. Any existing committer can visit this page to add or remove committers. You will need the OSGeo User ID to add users. The reference for this is here.

A list of Fusion Committers is available here.

Patches

Patches are text files that contain the difference between a locally checked out version of fusion and the version in the SVN repository. See CreatingPatches for instructions on how to create a patch and ApplyingPatches for applying a patch to your local working version.

SVN How To

SVN is organized into several main folders:

trunk:

This is the main development area for Fusion and is always the most up-to-date version. It will typically be somewhat unstable and should not be used for deploying applications.

branches:

Releases of Fusion are organized into branches. When a new major or minor release is made, it is copied from trunk to the branches folder and named fusion-<major>.<minor>. Any bug fixes related to that version are applied to the branch and new bugfix releases can be created from the branch from time to time. A branch is considered stable and usable for deploying applications.

tags:

All major, minor and bugfix releases of Fusion are tagged by copying the appropriate branch revision to the tags folder and named fusion-<major>.<minor>.<bugfix>. Binary releases are created by checking out a tag sub folder and running the build process against that folder. You should not commit any changes to a tag.

sandbox:

Everyone who is a Fusion developer should have a sandbox folder to use for testing out new ideas and implementing specific functionality. Sandbox directories can be used for anything you like.

Using SVN

To check out a copy of trunk, a branch, a tagged version, or a sandbox, you need to know the URL and use svn checkout <url>. For instance:

  • svn co http://svn.osgeo.org/fusion/trunk - check out trunk
  • svn co http://svn.osgeo.org/fusion/branches/fusion-1.0 - check out the branch for version 1.0
  • svn co http://svn.osgeo.org/fusion/tags/fusion-1.0.0 - check out the 1.0.0 released version
  • svn co http://svn.osgeo.org/fusion/sandbox/pagameba - check out pagameba's sandbox

Once you have a checked out copy, this is called a working copy. To update a working copy to the latest version, you use the update command with no arguments:

  • svn update

To move the working copy to a specific revision number, you can add the revision parameter:

  • svn update -r <revision>

To see if you have changes in your working copy against the current revision:

  • svn status

To see the differences between your working copy and the current revision:

  • svn diff
  • svn diff > diff.patch redirects the output to a file that is suitable for using with the patch command

The Build Process

Creating a binary build

Note: See TracWiki for help on using the wiki.