14 Interactions between FreeBSD CVS and Perforce

The FreeBSD Perforce and CVS repositories are completely separate. However, changes to CVS are tracked at near-real-time in Perforce. Every 2 minutes, the CVS server is polled for updates in the HEAD branch, and those updates are committed to Perforce in the //depot/vendor/freebsd/... tree. This tree is then available for branching and integrating to derivative projects. Any project that directly modifies that FreeBSD source code should have this tree as its branch parent (or grandparent, depending on the needs), and periodic integrations and syncs should be done so that your tree stays up to date and avoids conflicts with mainline development.

The bridge between CVS and Perforce is one-way; changes to CVS will be reflected in Perforce, but changes in Perforce will not be reflected in CVS. On request, some parts of the Perforce repo can be exported to CVSup and made available for distribution that way. Contact the FreeBSD Perforce administrators if this is something that you are interested in.