|Version 11 (modified by 9 years ago) ( diff ),|
This process is new and we have little experience - we expect it will evolve over time, so please send any suggestions for improving the process.
Currently the idea is:
- Check out the game from SVN. Git is also acceptable if using a fork of the official 0 A.D. git repo.
- Make some changes.
- Make sure you've updated to the latest version of the code (and merged in your own changes).
- Create a patch, with
svn diff(or the equivalent "create patch" feature in TortoiseSVN).
- Attach it to a Trac ticket (an existing ticket if there's a relevant one, else a new one), prefix the ticket Summary with "[PATCH]", set the ticket Milestone to the current release, and add "review patch" to the Keywords list. (The keywords make it show up on this query.)
- Try to keep the patches reasonable, i.e. don't mix a dozen bug fixes and new features together, producing a single massive patch. It's generally better to break these into multiple patches, each with its own ticket.
- One of the core developers should then review it and maybe suggest some changes.
- When it's considered okay, they should commit it to SVN.
- If you don't hear anything within a reasonable time period (maybe a week or two), feel free to post a reminder on the forum. Some patches take longer to review due to low priority, high complexity, or special knowledge required to review it. We appreciate your patience and all contributions.
- For more "controversial" changes and gameplay features, it's a good idea to create a topic on the forum anyway, to get as much feedback as possible from the community.
- Also, it's a good idea if you take some time to review patches yourself as well. Not only will this help speed things up as bugs and ways to improve your code can be found before a team member has had time to look at the patch, it's also a chance for you to become more familiar with the code and the coding conventions. Even just downloading/applying the patch and compiling it and testing if it does as it's supposed to is highly valuable. (Maybe the developer only has access to Linux, and you're on Windows or Mac, so even just testing to see if it compiles can be a good thing.) You don't have to know all the code to be able to review patches.
You must agree that it is your own work (or else make it clear where it came from) and agree to licensing any code as GPL 2+ (or in some cases MIT, especially for code in
lib/ - check the existing copyright headers on the source files you edit) and data files as CC-BY-SA 3.0.