TrivialDev core members were focus to reorganize, triage bugs, features requests and patchs review available on Fusionforge trackers. TrivialDev closed 15 patchs. Some were easy to merge (one line diff), some are (and still are) quite difficult to merge. But where is the difficulty about merging a patch ?
Usually a patch is a one file containing source code unified diff for one feature, but sometimes, surprise! there is multiple files fixing multiples bugs, adding a feature, changing the display, … Sometimes, the patch is not a unified diff, meaning you do not know what original source code file has been patched.
Fusionforge Patch Policy
To avoid such surprise, any opensource community usually define a patch policy. Since Friday, April 26, Fusionforge community do have a clear patch policy. This patch policy defines 3 mandatory rules and one optional rule.
- Your patch must be available for the last stable branch (current stable branch is 5.2) . If you want to provide your patch against master, that’s very nice of you but it’s not an obligation.
- Your patch file must be a unified diff. The unix diff command is your friend here, git provides a command to create an unified diff : git diff
- Your patch must do one thing at a time. Do not mix bugfix and enhancement. Do not mix multiple features in one patch.
- Naming your patch according to the branch you hacked and the fix/enhancement you’ve done. This rule is optional.
Where to contribute your patch
Fusionforge has 3 trackers. each tracker has his own purpose.
- Bugs is dedicated to raise an new issue about Fusionforge.
- Features request name is clear enough. You need a new feature? Create a new entry.
- Patches is dedicated to enhancement of existing features.
You can publish your patch into any of these 3 trackers, i.e. if you fixed a bug, create an entry in the Bugs tracker and add your patch file as attachment.
How, when your patch will be merge ?
Fusionforge community developpers will take care of your patch. If you patch complies with the rules above, your patch will be review, maybe directly merge. Sometime, your patch will be enhance, rewritten. To be honest, sometime your patch is rejected. Fusionforge community deveoppers may refuse your patch based on their analysis. Your patch will be merge at a time.
Still, you want to be sure your feature, your fix, or your enhancement will be include Fusionforge community source code at a defined time. TrivialDev company offers such service.