Difference between revisions of "WesnothRepository"

From The Battle for Wesnoth Wiki
(remove a reference to subversion)
(Get rid of the "-code" suffix sourceforge artifact)
Line 21: Line 21:
 
==  Download  ==
 
==  Download  ==
  
To check out a read-only copy into a directory called ''wesnoth-code'',
+
To check out a read-only copy into a directory called ''wesnoth'',
  
  git clone git://github.com/wesnoth/wesnoth-old.git wesnoth-code
+
  git clone git://github.com/wesnoth/wesnoth-old.git wesnoth
  
 
==  Commit access  ==
 
==  Commit access  ==
Line 29: Line 29:
 
For commit access, you must have a developer account on GitHub, it must be registered as part of the Wesnoth group, and you must check out with:
 
For commit access, you must have a developer account on GitHub, it must be registered as part of the Wesnoth group, and you must check out with:
  
  git clone git@github.com:wesnoth/wesnoth-old.git wesnoth-code
+
  git clone git@github.com:wesnoth/wesnoth-old.git wesnoth
  
 
==  Update  ==
 
==  Update  ==
  
Do this from inside the ''wesnoth-code'' directory  
+
Do this from inside the ''wesnoth'' directory  
  
 
  git pull
 
  git pull

Revision as of 17:09, 3 November 2013

[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 version control 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.

The Wesnoth repository uses Git and lives at https://github.com/wesnoth/wesnoth-old

Git

Git is the most widely used open-source version-control system. You can learn more about it at the Git home page, http://git-scm.com/.

Git replaced Sub­­version as Wesnoth's version control system in March 2013. Sub­­version had itself previously replaced an older program called "CVS" or "concurrent versioning system" in 2005. These earlier systems have left a few traces in the version history which you might encounter; some older documentation and a few files refer to them.

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:

https://github.com/wesnoth/wesnoth-old

Download

To check out a read-only copy into a directory called wesnoth,

git clone git://github.com/wesnoth/wesnoth-old.git wesnoth

Commit access

For commit access, you must have a developer account on GitHub, it must be registered as part of the Wesnoth group, and you must check out with:

git clone git@github.com:wesnoth/wesnoth-old.git wesnoth

Update

Do this from inside the wesnoth directory

git pull

Reviewing your changes

Before committing, it's always wise to run

git 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 Git on a Unix-like operating system, you'll typically do

 git format-patch HEAD~1..HEAD

or something similar; "HEAD~1" may be replaced by a hash or symbolic reference to any earlier revision. This will produce one or more patch files, numbered and endingth with the extension ".patch". See PatchSubmissionGuidelines for more on how to get these merged into the public repository.

See Also