Getting the Source Code
Haiku's source code is currently being hosted in a subversion based repository. Below are the various methods that can be used to check out the source code.
Anonymous access will allow anyone to download Haiku's source code. Only developers with commit access should use the authenticated (non-anonymous) method.
SVN Access
Build Tools:
svn checkout <url>buildtools/trunk haiku/buildtools
The buildtools are not needed when building from within Haiku, BeOS, or Zeta. Pre-built images of Haiku already come with the buildtools pre-installed. For BeOS and Zeta, a package is available on the Pre-Requisite Software page.Haiku:
svn checkout <url>haiku/trunk haiku/haiku
<url> can be one of the following:
Anonymous:http://svn.haiku-os.org/haiku/
svn+ssh://developername@svn.haiku-os.org/srv/svn/repos/haiku
Some Notes
Case Sensitive Filesystem
Haiku's source code needs to reside on a case sensitive filesystem. In short, such a filesystem recognizes "ThisIsAFile.txt" and "THISISAFILE.txt" as two different files. Some filesystems 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.- SVN_SSH variable
If your local user account is different from your login name at svn.haiku-os.org, the SVN_SSH variable must be set a bit differently for things to work when using svn+ssh://
export SVN_SSH="ssh -l developername"
- Converting your local SVN repository to use another <url>
If you already downloaded the repository over svn and want to convert it to the http protocol, you can use
svn switch --relocate. For more information run `svn help switch` from the command line. Switching Haiku from BerliOS to svn.haiku-os.orgcd path/haiku/haiku/ svn switch --relocate svn://svn.berlios.de/haiku/haiku/trunk http://svn.haiku-os.org/haiku/haiku/trunk
- Updating the Sources
cd /path/haiku/haiku svn update
Alternatively, a single path or multiple paths can be given to `svn update`. This will allow you to run the following command from any directory. This becomes extremely useful if you use an external object directory or if you wish to update both the buildtools and haiku directories at the same time.svn update /path/haiku/haiku /path/haiku/buildtools
