BZFlag SVN

From BZFlagWiki
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.

Getting 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 svn://svn.code.sf.net/p/bzflag/code/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 svn://svn.code.sf.net/p/bzflag/code/branches/release_maint/v2_0/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 svn://svn.code.sf.net/p/bzflag/code/ 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 bzflag module, as it is the actual game.

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

TortoiseSVN

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.

Please make sure that your svn config file includes the correct Auto-props. If you get a Mime-types error, you either didn't enable the correct auto-props setting in your subversion config file or you need to manually set file properties.

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.

TortoiseSVN

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

Tortoise users may set auto-props from the General Settings property page; click the Edit button and paste the auto-props into the correct section, then un-comment the "enable-auto-props = yes" line above it.

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.

TortoiseSVN

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!

TortoiseSVN

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:

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

 /trunk/MODULE_NAME

after the normal SVN URL.

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

 svn://svn.code.sf.net/p/bzflag/code/trunk/bzflag/

From the command line

svn co svn://svn.code.sf.net/p/bzflag/code/trunk/bzflag

Branches

Branches in subversion are simply subfolders. All branches are in the /branches subdirectory off the root level of the SVN tree, listed 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.

  svn://svn.code.sf.net/p/bzflag/code/branches/release_maint/v2_0/bzflag/

Useful Tools

Windows

Tortoise Graphical SVN Client: integrates subversion into the windows explorer shell. http://tortoisesvn.tigris.org/

Ankh Subversion: integrates subversion into Visual C++ as a native source control provider. http://ankhsvn.tigris.org/

WinMerge: visual merge and diff tool for windows. http://winmerge.org/

See also

Versions

External Links

BZFlag SVN Web Interface