This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:merge_process [2008/06/19 06:10]
dev:merge_process [2009/07/06 20:36] (current)
Line 59: Line 59:
   - Send the patch to the module maintainer   - Send the patch to the module maintainer
   - Module owner adds patch to the trunk, tests it and commits it.   - Module owner adds patch to the trunk, tests it and commits it.
 ===== Merge Process for Localization work == ===== Merge Process for Localization work ==
 +  * PO file will be merged into Pootle
 +===== Merge Process for GSoC project merges ==
 +Fran: I must confess that I don't have any great technique here...it's basically a long, tedious process.
 +I'd be very happy to hear from others as to better ways of doing this!
 +I did the merge in stages:
 +  * Have copies of both Trunk & Branch accessible
 +  * Build a list of all files modified by the participants (by asking the participants & looking at CVS View - having a knowledge of the project helps here, of course)
 +  * Add in new files (can't break anything)
 +  * Do a diff of the modified files with the current version in trunk & review
 +  * If there are simply new functions, then add those (again, can't break anything)
 +  * If old functions are deprecated, then grep codebase to see where the function is used & hence other files which need modifying
 +  * If existing functions are modified, sanity check what's happening. - using Notepad++'s Compare plugin works well for assisting this.
 +  * Merge all co-dependent changed files together.
 +  * Tidy-up the code to meet Sahana formatting guidelines & spellchecks
 +  * Test
 +NB I assume that 'Architectural fit' has been dealt with by the mentor(s)
 +  * not unnecessarily growing the stack of dependencies
 +  * any 3rd party code included is LGPL-compatible
 +  * using existing Sahana APIs rather than writing their own
 +What I've not yet done, but should really happen is:
 +  * Form validation checks
 +  * Security checks
 +  * Performance optimisation checks

QR Code
QR Code dev:merge_process (generated for current page)