49 lines
1.6 KiB
ReStructuredText
49 lines
1.6 KiB
ReStructuredText
|
||
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, it’s
|
||
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.
|