Wescamp.py Instructions

From The Battle for Wesnoth Wiki
Revision as of 15:22, 7 February 2012 by AI (talk | contribs) (Examples)

Documented here is how wescamp.py works when -g (--git) is passed, so that it communicates with wescamp at github.com instead of wescamp-i18n at berlios.de.


  • Git
  • Python (2.5 or above should work)
  • Ssh keys so that git push doesn't require a password prompt
  • Administrator rights on github.com/wescamp (for creating new repositories)


Like the svn invocation, with git, a directory per "version branch" is required. Unlike the svn version, you can't simply check out a single directory to do this. The -c/--checkout switch will check out a version directory for you, if it is properly named. The -U switch can make the checkouts as a side-effect.

A "version directory" is required to end in the version it's for, as this is currently the method used to identify the version. The following formats work:



Invocation (for -u and -U) is the same as with svn, with the following differences:

  • The -g/--git switch is required
  • The -G/--github-login (with argument in the form of USER:PASSWORD) is required an upload would create a new repository on github. This is because a json API is used to create the new repository.


./data/tools/wesnoth/wescamp.py -scampaigns.wesnoth.org -p15002 -w/tmp/wescamp-upload/1.10/ -u Invasion_from_the_Unknown -g

In this case a checkout of the Invasion_from_the_Unknown-1.10 repository already exists in /tmp/wescamp-upload/1.10/Invasion_from_the_Unknown/

./data/tools/wesnoth/wescamp.py -scampaigns.wesnoth.org -p15002 -w/tmp/wescamp-upload/1.10/ -u Era_of_Myths -g -G USER:PASSWORD

In this case the directory /tmp/wescamp-upload/1.10/ exists, but there is no Era_of_Myths directory in it and neither is there an Era_of_Myths-1.10 repository on github.

./data/tools/wesnoth/wescamp.py -scampaigns.wesnoth.org -p15002 -w/tmp/wescamp-upload/branch-1.10/ -U -g -G USER:PASSWORD

Updates all 1.10 add-ons. If they are not yet on wescamp, a new repository will be created for them.


If there's anything missing, please contact me. (AI0867)