OpenDarwin CVS Guidelines

Kevin Van Vechten

Revision History
Revision 217 Feb 2003kevin
Updated to reflect current practices.
Revision 19 May 2002kevin
From "OpenDarwin CVS etiquette" thread on discuss list.

Abstract

OpenDarwin is a fully-independent project designed to allow the developer community to extend and improve Apple's Darwin. A high priority is placed on maintaining compatibility with Darwin, and OpenDarwin will regularly import sources from Apple's Darwin project as they become available. Furthermore, OpenDarwin's modifications will be periodically sent to Apple for inclusion in Darwin.

The following CVS check-in policies should be followed in order to facilitate these goals.


Table of Contents

OpenDarwin CVS Branches
Current
Stable
Vendor
The OpenDarwin Release Cycle
Active-development
Feature-freeze
Code-freeze
Release

OpenDarwin CVS Branches

The OpenDarwin CVS repository has three primary branches used for organization and quality control. Note: all branch identifiers starting with 'OD_' are reserved for use by the OpenDarwin Core Team.

Current

New development on OpenDarwin will affect the top of the CVS tree. Because it is a "work-in-progress," compiling the most recent sources may give unexpected results. However, it is encouraged that top-of-tree sources be kept in working condition as much as possible to aid with the testing and debugging of OpenDarwin.

Stable

As progress is made toward a binary release, projects will be merged onto the OD_STABLE branch. The OD_STABLE branch should only contain code that has proven itself reliable. The OD_STABLE branch is also subject to various restrictions based on the current stage of the release cycle. Top-of-tree sources on the OD_STABLE branch should always be reliable.

Vendor

Sources available from Apple's Darwin repository will be periodically imported on the vendor import branch by the OpenDarwin Core Team. Imported sources will be tagged with an identifier in the format of OD_APPLE_10_1 (which would correspond to Mac OS X 10.1). Features and bug-fixes found on this branch should be merged with Current or Stable as appropriate to the nature of the project and the current stage of the release cycle.