zephyr/doc/development_process/code_flow.rst

49 lines
1.6 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Code Flow and Branches
######################
Introduction
************
The zephyr Git repository has three types of branches:
master
Which contains the latest state of development
topic-\*
Topic branches that are used for shared development of a new feature
vx.y-branch
Branches which track maintenance releases based on a major
release
Development in topic branches before features go to mainline allows teams to
work independently on a subsystem or a feature, improves efficiency and
turnaround time, and encourages collaboration and streamlines communication
between developers.
Changes submitted to a development topic branch can evolve and improve
incrementally in a branch, before they are submitted to the mainline tree for
final integration.
By dedicating an isolated branch to complex features, its
possible to initiate in-depth discussions around new additions before
integrating them into the official project.
Roles and Responsibilities
**************************
Development topic branch owners have the following responsibilities:
- Use the infrastructure and tools provided by the project (GitHub, Git)
- Review changes coming from team members and request review from branch owners
when submitting changes.
- Keep the branch in sync with upstream and update on a regular basis.
- Push changes frequently to upstream using the following methods:
- GitHub pull requests: for example, when reviews have not been done in the local
branch (one-man branch).
- Merge requests: When a set of changes has been done in a local branch and
has been reviewed and tested in a topic branch.