This wiki is archived and useful information is being migrated to the main bzflag.org website

Difference between revisions of "BZFlag SVN"

From BZFlagWiki
Jump to: navigation, search
m (add 2.0.x into common URLS)
 
(35 intermediate revisions by 14 users not shown)
Line 1: Line 1:
BZFlag SVN, is the [http://en.wikipedia.org/wiki/Subversion_(software) Subversion Revision Control System] used by the development team to maintain and store the [[BZFlag Source]] code. The SVN system is hosted by [http://www.sourceforge.net SourceForge] and is accessible by anyone with the proper software. The SVN system replaces the CVS system that was used previously.
+
{|style="width:100%;margin-top:+1em;background-color:#FF0000;border:1px solid #ccc;"
 +
|<div style="font-size:162%">'''The SVN system has been replaced by the [[BZFlag Git]] git version system. The code in SVN is available for read only.'''</div>
 +
|}
 +
 
 +
BZFlag SVN, is the [http://en.wikipedia.org/wiki/Subversion_(software) Subversion Revision Control System] used by the development team to maintain and store the [[BZFlag Source]] code. The SVN system is hosted by [http://www.sourceforge.net 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==
 
==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 [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 SVN command line utility] or a third party SVN client, such as [http://tortoisesvn.tigris.org/ the Tortoise Graphical SVN Client] (highly recommended). SVN is also available to Windows users via [http://cygwin.com/ Cygwin] with SVN and other common Devel tools selected during installation.
 
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 [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 SVN command line utility] or a third party SVN client, such as [http://tortoisesvn.tigris.org/ the Tortoise Graphical SVN Client] (highly recommended). SVN is also available to Windows users via [http://cygwin.com/ Cygwin] with SVN and other common Devel tools selected during installation.
  
==Geting code from SVN Access==
+
==Getting code from SVN Access==
 
===Command line===
 
===Command line===
The simplest way to get all the bzflag source code for every module is to simply get the entire trunk
+
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 bzflag
+
svn co <nowiki>svn://svn.code.sf.net/p/bzflag/code/trunk/bzflag</nowiki>
  
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.  
+
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
  
The '''best''' way, much more efficient and suitable for most people, is to only get the subdir for the module you are interested in. Typically this is just bzflag itself.  
+
svn co <nowiki>svn://svn.code.sf.net/p/bzflag/code/branches/release_maint/v2_0/bzflag</nowiki>
  
  svn co https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag
+
If you wish to get all of our source code in one step, you can get the entire repository with the command.
  
This will get you the current bzflag source code for the development version.
+
svn co <nowiki>svn://svn.code.sf.net/p/bzflag/code/</nowiki> bzflag
  
If you want the cvs code for the 2.0.x compatable version use the URL
+
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.
  
  svn co https://bzflag.svn.sourceforge.net/svnroot/bzflag/branches/v2_0branch/bzflag
+
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 informatation about the URLs to use for branches and modules.
+
Please see the sections below for more information about the URLs to use for branches and modules.
  
 
===TortoiseSVN===
 
===TortoiseSVN===
Line 31: Line 36:
 
If you wish to get only a single module subdir, or a revision, simply use the URL specified in the sections below.
 
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==
+
==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.
 
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===
 
===Command Line===
Line 42: Line 49:
 
===TortoiseSVN===
 
===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.
 
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==
 
==Updating code from SVN to the current version==
Line 52: Line 61:
 
===TortoiseSVN===
 
===TortoiseSVN===
 
Windows users that use the Tortoise Graphical SVN Client can simply choose the SVN update item from their right click menus.
 
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==
 
==Module sub directories==
Line 58: Line 78:
  
 
The current SVN modules are:
 
The current SVN modules are:
*bzflag : The main module that includes the game [[client]], [[BZFS|server]], [[plug-ins]], and [[BZAdmin]].
+
*bzflag : The main module that includes the game [[BZFlag 2.0.8|client]], [[BZFS|server]], [[plug-ins]], and [[BZAdmin]].
 
*admin : The [[Master Ban]] list
 
*admin : The [[Master Ban]] list
 
*bzedit : The linux version of the BZFlag map editor [[BZEdit]]
 
*bzedit : The linux version of the BZFlag map editor [[BZEdit]]
 
*bzeditw32 : The windows version of the BZFlag map editor [[BZEditWin32]]
 
*bzeditw32 : The windows version of the BZFlag map editor [[BZEditWin32]]
 
*web : The main website at http://www.bzflag.org
 
*web : The main website at http://www.bzflag.org
*db : Files related to the website http://my.bzflag.org and the [[Global Login]] system.
+
*db : Files related to the website http://my.bzflag.org and the [[Global Registration]] system.
 
*pybzflag : an abandoned python implementation of BZFlag
 
*pybzflag : an abandoned python implementation of BZFlag
 +
*bzworkbench : The source code for [[BZWorkBench]]
 +
*bzwgen: The source code for the automatic city generator.
  
 
to get the current version of a module, you would add  
 
to get the current version of a module, you would add  
Line 72: Line 94:
 
so to get the current version of just the bzflag module, the URL would be
 
so to get the current version of just the bzflag module, the URL would be
  
   https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag/
+
   <nowiki>svn://svn.code.sf.net/p/bzflag/code/trunk/bzflag/</nowiki>
  
 
From the command line
 
From the command line
  
  svn co https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag
+
svn co <nowiki>svn://svn.code.sf.net/p/bzflag/code/trunk/bzflag</nowiki>
  
 
==Branches==
 
==Branches==
 
Branches in subversion are simply subfolders.
 
Branches in subversion are simply subfolders.
All branches are in the /branches subdirectory that if off the root level of the SVN tree.
+
All branches are in the /branches subdirectory off the root level of the SVN tree, listed [http://bzflag.svn.sourceforge.net/viewvc/bzflag/branches/ here].
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 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.
 
To get the 2.0.x branch of the BZFlag module, you'd use the following URL.
   https://bzflag.svn.sourceforge.net/svnroot/bzflag/branches/v2_0branch/bzflag/
+
   svn://svn.code.sf.net/p/bzflag/code/branches/release_maint/v2_0/bzflag/
  
==External Links==
+
==Useful Tools==
[http://sourceforge.net/svn/?group_id=3248 SourceForge SVN Access page]
+
  
[http://bzflag.svn.sourceforge.net/viewvc/bzflag/ BZFlag SVN Tree]
+
===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==
 +
[https://sourceforge.net/p/bzflag/code/HEAD/tree/ BZFlag SVN Web Interface]
  
 
[[Category:Development]]
 
[[Category:Development]]
 
[[Category:Compiling]]
 
[[Category:Compiling]]
 
[[Category:Versions]]
 
[[Category:Versions]]

Latest revision as of 09:42, 6 January 2016

The SVN system has been replaced by the BZFlag Git git version system. The code in SVN is available for read only.

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