Getting the source code

Haiku's source code is currently being hosted in a Git based repository. Anonymous access will allow anyone to download Haiku's source code; However, only Haiku contributors with commit access should use the authenticated (non-anonymous) method.

Configure your git! Before making any commits to the Haiku repository (local even), be sure to configure the git environment on your local system! Failure to configure git properly before a commit will result in incorrect naming in your commit and public humiliation on the mailing list.
The buildtools are not needed when building from within Haiku. Pre-built images of Haiku already come with the buildtools pre-installed.

Git Access - Anonymous testers

Git Access - Contributors with commit permission

  • Configure Git on your system:

    Before making your first commit on a new system, be sure to configure Git. These global settings are stored in your git configuration directory (~/.git/) and will be appended to each commit as your personal information.

    git config --global "John Doe"
    git config --global ""

    If you were used to the short version of the svn commands (st, di,... instead of status, diff,...), you'll also want to set up similar shortcuts as aliases for the respective long git commands:

    git config --global "status -s"
    git config --global alias.di "diff"
    git config --global "commit"
    git config --global "checkout"

    On Mac OS X, you should always set the following option in order to avoid confusion about the NFD and NFC representation of filenames:

    git config core.precomposeunicode true 
  • Build Tools:

    The <login>@ is only needed if your currently logged in username doesn't match your username.

    git clone ssh://<login>
  • Haiku:

    The <login>@ is only needed if your currently logged in username doesn't match your username.

    git clone ssh://<login>

Switching from anonymous to developer access

Just got commit access to Haiku? Congratulations! You don't need to checkout the sources again. Instead you can update your existing copy of the source to use the commiter access. Just change the remote URL:

git remote set-url origin ssh://<login>

Some Notes

  • Case Sensitive Filesystem

    Haiku's source code needs to reside on a case sensitive file system.

    In short, such a file system recognizes "ThisIsAFile.txt" and "THISISAFILE.txt" as two different files. Some file systems that are (or could be) case in-sensitive include, FAT32, NTFS, and HFS+. Mac OS X's HFS+ is case in-sensitive by default. For more information regarding how to create a case-sensitive HFS+ volume, see this article.