Source control

    SupertTuxKart uses Git for source code, and SVN for data files. So if you don’t have those, install them first. You can find instructions for installing them at the bottom of the page.

    Contents

    Game core

    The core code repository is hosted on our GitHub page. Example clone command:

    It is about 350 MB in download size.

    Data files are hosted on SourceForge and use SVN. Example checkout command:

    It is about 700 MB in size.

    These two repositories should be downloaded in the same folder, so that folders stk-code and stk-assets are next to each other.

    Media repository

    The media repository is not required to play the game. It contains the source files for assets (.blend files, lossless music and sound files, etc.) and is meant for artists. It is around 3.2GB in download size.

    The media repository is hosted on SourceForge and uses SVN. Example checkout command:

    Also see the Media repository page.

    Guidelines

    Here are some guidelines for developers who have write access to Git/SVN:

    • Join our IRC or Telegram channel (see Community). Developers usually post what they are working on there, so that the likelihood of conflicts can be decreased. Additionally, known high-profile bugs are discussed there, too.
    • It might be worth subscribing to the supertuxkart-commit email list (see Community). All commit messages are automatically sent to this address, so you will always be aware of what is happening, and if your work interferes with what other people are doing.
    • The development version should always compile. While it’s not possible to test on all platforms, do your best to write portable code. Other developers and testers will usually quickly point out (and fix) any problems.
    • Commit often. Frequent commits have the advantage that they act as a backup which makes time-consuming merge conflicts less likely.
    • Try to include all changes for a single feature in one commit (i.e. don’t commit each file separately) and try not to mix several features in one large commit.

    Installing Git

    Linux

    sudo apt install git or equivalent in your distribution of choice.

    Windows

    Install Git for Windows. If you want a graphical interface for Git you can choose whichever works for you. Otherwise if you don’t know which to choose you can install TortoiseGit as well after installing Git for Windows.

    Installing SVN

    Linux

    sudo apt install subversion or equivalent in your distribution of choice.

    Windows

    You can choose between several SVN clients and use whichever works for you, but if you don’t know which to choose you can install TortoiseSVN.