HamBSD's source code is maintained in a git repository. The HamBSD changes are regularly rebased on top of the OpenBSD GitHub mirror.
You will need to install devel/git and devel/got from ports in order to obtain and work with the source code.
Start by checking out the latest source code from GitHub. It is recommended to do this somewhere under /home as, at the time of writing, the clone is roughly 2.1GB:
$ cd /home $ git clone --bare https://github.com/HamBSD/src.git
If you do not require the entire history, you can perform a shallow clone instead to only retreive the latest commit:
$ cd /home $ git clone --depth 1 --bare https://github.com/HamBSD/src.git
Then checkout a work tree using got(1):
$ cd /usr $ got checkout /home/src.git /usr/src
To update the tree later:
$ (cd /home/src.git && git fetch --force origin master:master) $ (cd /usr/src && got update -b master
As the src.git repository is regularly rebased, there is no history kept of changes to the HamBSD-specific changes over time. In order to provide this, git-format-patch(1) is used to serialise the HamBSD commits as patches which are then version controlled in the patches repository.