This is an old revision of the document!
GitHub
FreeBSD maintains a GitHub presence, with the FreeBSD GitHub Organisation, its repositories, svn2git integration and mirroring managed by GitAdmin.
Repositories
Secondary mirrors of doc, ports, and src trees:
- freebsd-doc — FreeBSD Documentation Project (FDP)
- pull requests are accepted
- freebsd-ports — the ports collection
- pull requests are subject to the whims of developers
- better follow the guidelines for contributing to ports
- freebsd-src — FreeBSD base
- pull requests are preferred for relatively straightforward changes, where the contributor already has a GitHub account
- guidelines for contributors were introduced in February 2023 (history).
Ports-specific projects and teams:
- freebsd-ports-gnome — GNOME
- freebsd-ports-kde — QT & KDE.
Primary repositories — issues and pull requests welcome — for other well-known projects include:
- drm-kmod — the DRM drivers ported from Linux to FreeBSD using LinuxKPI
- pkg — a binary package manager for FreeBSD
- portmaster — port management script without external databases or languages
- poudriere — port/package build and test system.
Joining
Requests to be added to the FreeBSD GitHub Organisation can be made via Bugzilla (Product: Services, Component: Git Integration). Please include details of any teams you are a member of or hats you wear so that this can be reflected in GitHub.
Currently, in almost all cases, only those with @FreeBSD.org accounts are approved. External users may apply to be a part of the organisation if a compelling case can be made. Examples may be external contributors that require write (commit) access to a FreeBSD repository other than src, ports, and doc that is hosted within the organisation account.
Pull Requests (PRs)
This is an experimental approach for the FreeBSD Project. While efforts are given to PRs, a more traditional workflow may be more likely to succed (please see documents such as Contributing to FreeBSD).
A simple PR — non-contentious tree-ready source code, or code that needs only light edition (trivial issues such as merge conflicts) — will be merged, or closed with reference to the commit of the code.
If the PR will be significantly less simple — with consensus building, discussion, or rework — there may be closure without commit.
A PR may require maintainer approval, which we'll try to facilitate. If approval is not timely: consider mailing lists, Bugzilla, Phabricator, or direct contact with maintainers.
For repositories where PRs are not officially accepted:
- some Project members may process requests
- the recommended approach to code changes is Bugzilla.
Webhooks
Webhooks are configured on some repositories. This section details the purpose of each hook, and who configured it.
All external configurations or integrations should be listed here.
- IRC Messages for commit events:
- Endpoint: n.tkte.ch Purpose: IRC (freenode) commit events
- Repositories: freebsd-doc, freebsd-ports, freebsd-src
- Contact: KubilayKocak
- Discord Messages for commit events:
- Endpoint: dev.wired.sh Purpose: Discord commit events
- Repositories: freebsd-doc, freebsd-ports, freebsd-src
- Contact: KubilayKocak LewisCook
Contact
- For general questions, email Git Admin
- For change requests (new repositories, permissions, etc), please create an issue in Bugzilla -- Services:Git Integration