Skip to content

Branches

Kelvin Cao edited this page Mar 29, 2021 · 10 revisions

Switchtec-kernel repository hosts many branches. Based on the use of the branches, they can be divided into five groups.

  • master branch
  • devel branch
  • backport branches
  • topic branches
  • release branches

Master branch

The code in master branch is up to date and passed test. Master branch always tries to be compatible with 'latest' kernel. Currently, master branch code is compatible with kernel v5.7 to v5.11.

  • master

Devel branch

  • The devel branch is used for the integration purpose. Before the changes of a topic branch be merged into the master branch, they will be merged into the devel branch first for integration with other changes. After integration test, the devel branch will be merged into master.

Backport branches

To work with many other kernel versions, we also created some backport branches. Different kernels may vary in the APIs or the supported features, that's why we have these driver backports. For a feature change, it's first merged into master, and then be merged from master into the backport branches if applicable. These branches exist with infinite lifetime.

NOTE: The backport branches may not be up-to-date. Merge the master branch into a backport branch in your clone if you find it's not aligned with the master branch.

  • backport_centos7_3.10_with_NTB
  • backport_ubuntu_16.04.2_4.4.0-62-generic
  • backport_3.10 (no NTB driver)
  • backport_3.10_to_4.3 (obsolete, to be deleted)
  • backport_3.11_to_3.14 (no NTB driver)
  • backport_3.15_to_4.3 (no NTB driver)
  • backport_4.4_to_4.7
  • backport_4.8_to_4.11
  • backport_4.12
  • backport_4.13_to_4.14
  • backport_4.15
  • backport_4.16_to_4.19
  • backport_5.0
  • backport_5.1_to_5.2
  • backport_5.3_to_5.4
  • backport_5.5_to_5.6

Topic branches (a.k.a. feature branches)

When a specific change is to be added, it first goes into a topic branch. There may be multiple topic branches. A topic branch exists when the topic is in development. A topic branch will eventually be merged into master or discarded.

Release branches (obsolete)

Release branches support preparation of a product release. A release branch may look like release_kverX_to_kverY, which means code in this branch is compatible with kernel from kernel version X to kernel version Y.

  • release_kverX_to_kverY
Clone this wiki locally