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.
- 1 SVN clients
- 2 Getting code from SVN Access
- 3 Committing Code to SVN
- 4 Updating code from SVN to the current version
- 5 Reverting local code to the server's version
- 6 Module sub directories
- 7 Branches
- 8 See also
- 9 External Links
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.
Getting code from SVN Access
The simplest way to get the bzflag source code is to use the URL for the current ( or TRUNK ) bzflag module.
svn co https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag
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 https://bzflag.svn.sourceforge.net/svnroot/bzflag/branches/v2_0branch/bzflag
If you wish to get all of our source code in one step, you can get the entire repository with the command.
svn co https://bzflag.svn.sourceforge.net/svnroot/bzflag 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.
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.
Reverting local code to the server's version
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 or directory you would like to revert and from the TortoiseSVN submenu, select Revert.... The menus is context sensitive, so there must be code that has been modified for the menu choice to be available.
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 Registration 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
$ svn co https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag
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.