From BZFlagWiki
Revision as of 19:13, 15 April 2007 by Joevano (Talk | contribs) (tortise SVN revert)

Jump to: navigation, search

BZFlag SVN, is the Subversion Revision Control System used by the development team to maintain and store the BZFlag Source code. The SVN system is hosted by SourceForge and is accessible by anyone with the proper software. The SVN system replaces the BZFlag CVS system that was used in the past.

SVN clients

To access the source code via SVN , you will need a SVN client. Most unix/linux type operating systems have the command line SVN client as an installable option. Windows users must download the Windows native SVN command line utility or a third party SVN client, such as the Tortoise Graphical SVN Client (highly recommended). SVN is also available to Windows users via Cygwin with SVN and other common Devel tools selected during installation.

Geting code from SVN Access

Command line

The simplest way to get the bzflag source code is to use the URL for the current ( or TRUNK ) bzflag module.

$ svn co

This will get you the current bzflag source code for the development version.

If you want the SVN code for the 2.0.x compatible version use the URL

$ svn co

If you wish to get all of our source code in one step, you can get the entire repository with the command.

$ svn co bzflag

This will get all modules, branches, tags, and subdirs. Beware! This is a very large amount of data (make sure you have at least 2.7 GB of disk space available) and will take a while and will be rather useless, as it is the code for every version of bzflag. Most users will only need the code for one specific version.

The best way, is to only get the subdir for the module you are interested in. This is much more efficient and suitable for most users. The most common module to get is the bzlag module, as it is the actual game.

Please see the sections below for more information about the URLs to use for branches and modules.


Windows users that use the Tortoise Graphical SVN Client simply enter the URL of the SVN path they wish to check out in the field marked URL of repository. For the current version of all modules simply use the /trunk path. Note, if you want your code to be checked out into a new folder, be sure to enter that folder name in the Checkout directory field.

If you wish to get only a single module subdir, or a revision, simply use the URL specified in the sections below.

Committing Code to SVN

Project developers that need write access to the source code to make changes ( or commits ) need to provide their sourceforge username and password when doing a SVN commit. A sourceforge account is required for developer access, as well as approval from a project administrator.

Command Line

Using the command

 svn commit

in a directory that has code changes will commit any changed code back to the repository. The svn client will prompt you for your username and password.


Windows users that use the Tortoise Graphical SVN Client can simply choose the SVN commit item, and enter their username and password when prompted.

Updating code from SVN to the current version

Command Line

Using the command

  svn up

in the directory that has checked out code will cause subversion to update that code to the current version for that branch.


Windows users that use the Tortoise Graphical SVN Client can simply choose the SVN update item from their right click menus.

Reverting local code to the server's version

Command Line

Using the command

 svn revert
 svn up

in the directory that has checked out code will cause subversion to set flags on all modified local files, then update the code to match the code on the server. NOTE: This has the effect of wiping out all local changes, so use with caution!


Right click on the file you would like to revert and from the SVN Menu select Revert.

Module sub directories

The source code in SVN is broken up into a number of modules for ease of use and management. When requesting the source code from the SVN system a sub-directory may be specified to limit the code that is accessed.

The current SVN modules are:

to get the current version of a module, you would add


after the normal SVN URL.

so to get the current version of just the bzflag module, the URL would be

From the command line

$ svn co


Branches in subversion are simply subfolders. All branches are in the /branches subdirectory that if off the root level of the SVN tree. they can be viewed here, To get the code in a branch, you simply use the branch URL in your svn client.

To get the 2.0.x branch of the BZFlag module, you'd use the following URL.

See also

BZFlag Version Numbers

External Links

SourceForge SVN Access page

BZFlag SVN Tree