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 CVS system that was used previously.
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
The simplest way to get all the bzflag source code for every module is to simply get the entire trunk
svn co https://bzflag.svn.sourceforge.net/svnroot/bzflag bzflag
This will get all modules and subdirs. This is a large amount of data (make sure you have at least 1.5 GB of disk space available) and will take a while. It is much more efficient to only get the subdir for the module you are interested in. Please see the sections below for 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.
Commiting 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.
Using the command
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
Using the command
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.
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:
- bzflag : The main module that includes the game client, server, plug-ins, and BZAdmin.
- admin : The Master Ban list
- bzedit : The linux version of the BZFlag map editor BZEdit
- bzeditw32 : The windows version of the BZFlag map editor BZEditWin32
- web : The main website at http://www.bzflag.org
- db : Files related to the website http://my.bzflag.org and the Global Login system.
- pybzflag : an abandoned python implementation of BZFlag
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
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, http://bzflag.svn.sourceforge.net/viewvc/bzflag/branches/ 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.