Freeciv source code repository
Talk8this wiki
Redirected from Svn
| Developing Freeciv |
|---|
Freeciv is an open source project, licensed under the GNU General Public License version 2. The source code and other files necessary to build the project are publicly available for download, examination and experimentation.
Access to the Freeciv source code repository is available using the open source Apache Subversion control system. Subversion client software is available free for a wide variety of systems, or can be compiled from source code. Documentation is available from the official website, which includes a link to the online book Version Control with Subversion, published by O'Reilly Media.
The contents of the Freeciv repository are browsable online.
Contents |
Fetching the latest source code
Edit
The following command retrieves the latest checked-in Freeciv source code:
svn co svn://svn.gna.org/svn/freeciv/trunk freeciv
This will create a new directory called freeciv containing the most recent development version, sometimes referred to as HEAD or TRUNK. In some cases, this mechanism can be blocked by firewalls, in which case:
svn co http://svn.gna.org/svn/freeciv/trunk freeciv
may provide a useful, if slower, alternative.
Once the code has been successfully checked out, going into the freeciv directory and typing:
svn update
will update the source code to reflect any changes in the main repository since the last checkout or update.
Note that this only provides read-only access the the source code; changes cannot be submitted except by project members, using a different method. See more details.
The analogy used by many people is to view the source code as a tree. The most changes happen in the trunk, but there are also multiple BRANCHes that are usually more stable. Any changes to TRUNK will not affect an already established branch.
Fetching older versions
Edit
The source code for previous versions of Freeciv can be retrieved using a Subversion tag. For example, Freeciv version 2.1.0 can be retrieved in this way:
svn co svn://svn.gna.org/svn/freeciv/tags/R2_1_0/ freeciv-2.1.0Examples of available tags include:
| Freeciv version | Subversion tag | Date tagged |
|---|---|---|
| 1.6.1 | R1_6_1 | 3 June 1998 |
| 1.14.0 | R1_14_0 | 17 January 2003 |
| 1.14.1 | R1_14_1 | 2 December 2003 |
| 1.14.2 | R1_14_2 | 10 September 2004 |
| 2.0.0 | R2_0_0 | 16 April 2005 |
| 2.0.10 | R2_0_10 | 30 June 2008 |
| 2.1.0 | R2_1_0 | 27 October 2007 |
| 2.1.10 | R2_1_10 | 22 November 2009 |
| 2.1.11 | R2_1_11 | 23 January 2010 |
| 2.2.0 | R2_2_0 | 21 February 2010 |
| 2.2.1 | R2_2_1 | 23 May 2010 |
| 2.2.2 | R2_2_2 | 25 Jul 2010 |
| 2.2.3 | R2_2_3 | 12 Sep 2010 |
| 2.2.4 | R2_2_4 | 07 Dec 2010 |
| 2.2.5 | R2_2_5 | 27th Feb 2011 |
| 2.2.6 | R2_2_6 | 4th Jul 2011 |
| 2.2.7 | R2_2_7 | 16th Jul 2011 |
A full list can be obtained by:
svn ls svn://svn.gna.org/svn/freeciv/tags/
or by consulting the project repository. (Note that this list now has several pages, with the newer tags tending to be on later pages.)
Using git
Edit
The Git revision control system can also be used to retrieve source code from the repository:
git svn clone -Ttrunk -ttags -bbranches svn://svn.gna.org/svn/freeciv/
Once the code has been successfully checked out, going into the freeciv directory and typing:
git svn update
will update the source code to reflect any changes in the main repository since the last checkout or update.