WesnothRepository
[edit]Compiling Wesnoth |
Platforms
|
The Battle for Wesnoth code base is stored in a version control repository. Version control allows the entire dev team to edit files concurrently. The software tracks revisions, stores a record of all edits, revents simultaneous editing from causing clashes. All changes are stored in the subversion repository.
When a release is planned, the current set of the files in the repository is frozen, given a release number, and shipped out to the world at large. Then, as files continue to be edited by the developers, the repository code advances past that point. The repository (or "repo") version is by definition the most up-to-date version of the code.
Wesnoth is in the process of moving to the git version-control system and changing hosting sites. The repository is currently at http://gna.org and the version-control system is Subversion, but we expect to move to SourceForge soon.
Contents
SVN
Wesnoth development currently (but not for much longer) is using the open-source Subversion software tool to keep developers in sync with each other. See the SVN book for more on how to use Subversion.
Subversion replaced an older program called "CVS" or "concurrent versioning system." The very earliest versions of Wesnoth were developed under CVS, and it has left a few traces far back in the version history.
Browse the code
There are currently two main streams of development: trunk (1.11.x) and stable branch (1.10.x). Most other branches are only used for a short time to do some testing without disturbing the main development. You can use your web browser to navigate through the source code:
http://svn.gna.org/viewcvs/wesnoth/
Download
To check out trunk into a directory called wesnoth (about 400 MB to download as of March 30th 2009, and about 1.3 GB disk space required, including .svn dirs, as of June 17th 2012):
svn co http://svn.gna.org/svn/wesnoth/trunk wesnoth
Or, to check out the 1.10 branch (about 400 MB to download and 960 MB to store on disk as of March 30th 2009; by extrapolation, probably around 1.3 GB too by June 17th 2012) into a directory called wesnoth-1.10:
svn co http://svn.gna.org/svn/wesnoth/branches/1.10 wesnoth-1.10
More info on the repository: https://gna.org/svn/?group=wesnoth
Commit access
For commit access, you must have a developer account on gna, it must be registered as part of the Wesnoth group, and you must check out with
svn co svn+ssh://gna_username@svn.gna.org/svn/wesnoth/trunk wesnoth
Update
Do this from inside the wesnoth or wesnoth-1.10 directory where you checked out the repository:
svn update
Reviewing your changes
Before committing, it's always wise to run
svn diff
and look at the output. Some kinds of mistakes that are hard to see embedded in all the code you have modified are more easily spotted in the isolated diff lines.
Generating patches
Under Subversion on a Unix-like operating system, do
svn diff >my.patch
or something similar. If you are using git-svn a git diff is acceptable. See PatchSubmissionGuidelines for more on how to get these merged into the public repository.
See Also
- CompilingWesnoth
- SVN_on_Windows
- GIT-SVN - for git users