Support OpenKore:
Learn about
the Fund Pool

SVN guide for developers

« What is SVN?

If you'd like to work on OpenKore's code, you shouldn't just take the latest public release and modify that. Instead, you should get the code from SVN and work on that instead.

Basically, this is what you're supposed to do:

  1. Download (checkout) a module from SVN.
  2. Modify the source code.
  3. Merge your changes with the latest changes in SVN (if necessary).
  4. Commit the change to SVN, or make a patch and submit it to the forums.

Step 1 and 3 are explained in the SVN guide for users, so you should read that first.

Step 4 depends on whether you have SVN write access or not. A selected group of developers has SVN write access, meaning that they can upload changes directly to the SVN repository. If you don't have SVN write access, then you can make a patch and submit it to the forums.

Contents


Merging your changes with the latest changes in SVN

By the time you're done modifying the source code, someone else may have committed a new change to SVN. So you should regularly run the SVN Update command (as explained in the SVN guide for users). The update command will:

  • Download the latest source code from SVN. Only new or changed files are downloaded.
  • Automatically merges your changes with possible new changes by others.

Note: sometimes SVN may report conflicts during merging. For more information, read Resolve Conflicts (Merging Others' Changes) in the SVN manual.


Committing changes

Your changes will not be in the SVN repository until you commit them.

Rightclick on an empty spot in your module folder and choose SVN Commit.... A dialog will pop up. In this dialog, you can:

  • Select the files you want to commit.
  • Enter a comment about what you have changed in this commit. This comment should be a short, brief description.

Remember that SVN works with changesets. So if you commit something, you should commit all files that are related to a specific change, rather than committing them individually.


Adding files

New files you created will not be committed to the SVN repository, unless you specifically mark them for addition. To do this, rightclick on the files you want to add, and choose TortoiseSVN->Add.... The file isn't in the SVN repository yet! You've only marked the file. The file will really be committed to the SVN repository when you do an SVN commit.


Creating patches

Screenshot If you don't have SVN write access (and thus cannot commit), then create a patch and submit it to the forums. You can create a patch by right clicking on an empty spot in the folder, and then choosing TortoiseSVN->Create Patch.

Open the patch file in Notepad, copy the contents to clipboard, and post it on the forum (in the Developers Corner subsection), between [code][/code] UBB tags.


Trunks, tags and branches

The latest version of a module is called the trunk. It is comparable to the HEAD tag in CVS. That's why you see the word 'trunk' in the OpenKore module URL. (https://openkore.svn.sourceforge.net/svnroot/openkore/openkore/trunk)

Tags and branches for a module can be found in the tags and branches folders for that module. For example, Open the OpenKore 1.6 branch is found at the following URL:

https://openkore.svn.sourceforge.net/svnroot/openkore/openkore/branches/branch-1-6