WesnothRepository

From The Battle for Wesnoth Wiki
Revision as of 15:35, 21 March 2013 by Esr (talk | contribs) (Move SVN-specific terminology here from PatchSubmissionGuidelines)

[edit]Compiling Wesnoth

Platforms

SVN

Wesnoth development currently uses the Subversion software tool to keep developers in sync with each other. See the SVN book for more on how to use Subversion.

Note: Wesnoth is moving to git. This informtion may be obsolete by the time you read it!

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