User Tools

Site Tools


Differences

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
Next revision Both sides next revision
cppdev:submitpatches [2010-11-04 16:44]
Carsten Fixed e-mail links
cppdev:submitpatches [2015-05-18 22:09]
127.0.0.1 external edit
Line 8: Line 8:
 To make life easier for both you and us, please follow the few simple rules below when submitting patches. To make life easier for both you and us, please follow the few simple rules below when submitting patches.
  
-Remember that if you have any questions about the steps here, you can always post them at the [[http://www.cafu.de/forum/|Cafu forum]] and we'll do our best to help you.+Remember that if you have any questions about the steps here, you can always post them at the [[http://forum.cafu.de|Cafu forum]] and we'll do our best to help you.
  
  
Line 45: Line 45:
  
 === Omit auto-generated files === === Omit auto-generated files ===
-Don't include auto-generated files (log files, temporary scripts, etc.) in the patch. ​+Don't include auto-generated files (log files, temporary scripts, etc.) in the patch.
  
 The simplest way to handle this is to use TortoiseSVN,​ which allows you to select which files should and which files shouldn'​t be included in the patch. Alternatively,​ it is also easy to edit the patch to remove the unwanted chunks. The simplest way to handle this is to use TortoiseSVN,​ which allows you to select which files should and which files shouldn'​t be included in the patch. Alternatively,​ it is also easy to edit the patch to remove the unwanted chunks.
  
 === Make atomic patches === === Make atomic patches ===
-Do not split a single code change into multiple patches. ​A patch should be self-contained -- //one patch for one thing//.+A patch should be self-contained -- //one patch for one thing//.
  
-A patch that adds bitmaps to menu items and fixes a bug in the network code is a bad patch. It should be splitted into two patches. On the other hand, two patches, one of them being "​implementation of new member-functions",​ the other "​changes in class description to accommodate new members"​ are two bad patches. They are related to one, logically indivisible thing, so they should be part of one patch.+Do not combine multiple new features in a single patch: 
 +A patch that adds bitmaps to menu items and fixes a bug in the network code is a bad patch. It should be splitted into two patches.
  
-Another example: if you adapted ​the build system to work on a new, previously unsupported platform, we would gladly accept your patchJust send us single patchnot 10 patches, one for each modified file.+On the other hand, do not split single code change into multiple patches: 
 +Two patches, one of them being "​implementation of new member-functions"​the other "​changes in class documentation to accommodate new members"​ are two bad patchesThey are related to onelogically indivisible thingso they should be in one common patch.
  
  
Line 94: Line 96:
  
   * The authorship and all credits remain with you. Your contributions will clearly carry your name and everything gets properly documented in our changelog (unless you tell us otherwise).   * The authorship and all credits remain with you. Your contributions will clearly carry your name and everything gets properly documented in our changelog (unless you tell us otherwise).
 +
 +  * Once your code has been integrated into Cafu, we assume maintenance for it as for everything else. That means that we make sure that the code will still work after future changes, in future releases, on future platforms, etc.
  
   * Any money we earn from selling commercial licenses is spent on the development and continued enhancement of Cafu. The code, insight and knowledge that we obtain from additional budget or manpower is directly given back to the community (most prominently in the form of commits to the [[cppdev:​gettingstarted|Cafu source code repository]]).   * Any money we earn from selling commercial licenses is spent on the development and continued enhancement of Cafu. The code, insight and knowledge that we obtain from additional budget or manpower is directly given back to the community (most prominently in the form of commits to the [[cppdev:​gettingstarted|Cafu source code repository]]).
cppdev/submitpatches.txt · Last modified: 2017-02-05 13:37 by Carsten