Creating a patch to submit (Patch Tracker)
WARNING: Page is under development. Please do not change until this message disappears.
If you want to contribute to Code::Blocks you can make it easier for the developers to integrate your patches if you follow the advices of this page.
Patches can be created in different formats. The format that is used by Code::Blocks is called a "unified diff". Hence 3rd party tools may still create a different patch format allthough it may be labelled as "unified diff". To avoid unnecessary incompatibilities the best way to provide a patch is to use the Subversion (SVN) diff command line option.
What is required?
Not too much, you might already have the required tools installed. You'll need a subversion client. You can download a current version for your OS at the Subversion project webpage here: http://subversion.tigris.org. It is a good idea to apply your code to the most up-to-date Code::Blocks sources as they are available at the SVN repository. You'll find the instructions how to obtain the sources here: http://www.codeblocks.org/source_code.shtml. Once you've created your local sandbox you can start integrating your changes to that revision. Thus you may modify existing files or add new ones. When you have finished please make sure you've verified your changes work. Now it's time to create the patch.
If you have added new files you first have to register them with your sandbox. Thus go into the directory you've added new files and type at the command line:
- svn add filename(s)
...whereas "filename(s)" needs to be replaced with the files you've added. Of course if you are not using the command line version of SVN you can easily use the "Add" feature of your prefered SVN GUI. If you've completed adding all your new files to your sandbox your are ready to create the patch. First of all go to the top-level directory of your sandbox (the first directory that has a hidden ".svn" folder with content). Then type at the command line:
- svn.exe diff > my.patch
...replacing "my" with a descriptive name. Please make sure you leave the file ectension ".patch" as this avoids conflicts while submitting the patch.