This wiki has been moved to https://github.com/SuperTux/wiki into the mediawiki branch.

Difference between revisions of "CreatingPatches"

From SuperTux
Jump to: navigation, search
(Code)
(Licenses)
Line 34: Line 34:
  
 
An alternative method is uploading the changes to some website or ftp server and sending us the link on the mailing list. Using attachements on the mailing list is NOT good as the files tend to get big which will annoy people subscribed to the mailing list!
 
An alternative method is uploading the changes to some website or ftp server and sending us the link on the mailing list. Using attachements on the mailing list is NOT good as the files tend to get big which will annoy people subscribed to the mailing list!
 +
 +
 +
== Licenses ==
 +
 +
If your contribution can not be redistributed under the same license as the rest of Supertux we can't use it. Usually small code changes gets infected by GPL automatically. For everything else (like levels, images, sounds and new programs) we need to make sure that it is GPLv2 code and GPLv2 + CC-by-sa for everything else.

Revision as of 08:12, 31 July 2007

Contributing

Why

Once you have done some own changes to supertux, you probably want to show them to the world and contribute them to the project.

Also if you want to join the supertux team then you first need to have some patches accepted before we'll give you write access to our repository.

How

Images/Music/Levels

Contribution which mostly add new files (typically when creating new graphics, sound, music, levels) can simply be put into an archive (preferably .tar.gz or .zip).

Code

Changes to the code typically affect only parts of bigger files, so it's hard to spot the differences to the original file. Therefore we only accept code contributions in the form of a patch. This guide will walk you through the process of creating a patch.

We assume that you have a current checkout of the supertux repository (see Download/Subversion) with your changes applied. Then you should first use

svn status

which will print you a list of files with a prefix letter. M means you have changed the file, C means there has been a conflict between your changes and changes from someone else in the repository, and ? means the file is ignored by the version control.

You should fix all conflicts (by editing the conflicted file, then using svn resolved <filename>) and use svn add <filename> to add files that you created and want to add. svn remove will delete files from the repository. (Note that files are never really deleted; you may always check out a former revision when the file still existed.) Finally you can create a patch by using

svn diff > mypatch.patch

This will create a file mypatch.patch that contains all changes you did to the repository. (You should open the file in a texteditor and verify that it contains all your changes and only changes you wanted to submit).

Now what?

So you have your patch ready and want to submit it? Then the prefered way is to open a new report on our bug tracker and attach the changes to it. (You can upload and attach files to bugreports).

An alternative method is uploading the changes to some website or ftp server and sending us the link on the mailing list. Using attachements on the mailing list is NOT good as the files tend to get big which will annoy people subscribed to the mailing list!


Licenses

If your contribution can not be redistributed under the same license as the rest of Supertux we can't use it. Usually small code changes gets infected by GPL automatically. For everything else (like levels, images, sounds and new programs) we need to make sure that it is GPLv2 code and GPLv2 + CC-by-sa for everything else.