|
| 1 | +## Past branches |
| 2 | + |
| 3 | +These branches are unmaintained, archived, deprecated, frozen or do not exist anymore in the repository. |
| 4 | + |
| 5 | +### `rust` |
| 6 | + |
| 7 | +[`rust`](https://github.com/Rust-for-Linux/linux/tree/rust) was the original branch where development happened for two years before Rust support was merged into the kernel. |
| 8 | + |
| 9 | +It contains most of the abstractions that the project worked on as a prototype/showcase. Some of those may eventually land upstream, others may be reworked with feedback from upstream, and a few may be dropped if unneeded. |
| 10 | + |
| 11 | +The branch is now archived, thus no new changes are merged into it. While it may be deleted eventually, for the moment it is kept around since some of the code did not make it upstream and may be useful for others. |
| 12 | + |
| 13 | +Similarly, its [Rust code documentation (2023-03-13)](https://rust-for-linux.github.io/docs/rust/kernel/) is archived as well. |
| 14 | + |
| 15 | +Changes to this branch landed via [GitHub PRs](https://github.com/Rust-for-Linux/linux/pulls). GitHub Actions was used as a pre-merge CI, compiling the kernel and booting it under QEMU for different toolchains, architectures and configurations. It also checked that some tests passed (e.g. loading sample modules, KUnit tests...) as well as building the PR under Clippy, building the docs, checking `rustfmt`, etc. [KernelCI](https://linux.kernelci.org/job/rust-for-linux/branch/rust/) tests it. Finally, in the past, the [Ksquirrel](Ksquirrel.md) bot checked the PRs sent to it. |
| 16 | + |
| 17 | +### `rust-dev` |
| 18 | + |
| 19 | +[`rust-dev`](https://github.com/Rust-for-Linux/linux/tree/rust-dev) is an experimental branch for integration purposes. It is a queue for patches that "look good enough". |
| 20 | + |
| 21 | +Its intended use cases are: |
| 22 | + |
| 23 | + - Finding merge/apply conflicts as early as possible. |
| 24 | + - Providing a common base for development that requires features that are not yet in mainline or `rust-next`, i.e. giving early access to features. This may include Rust-related changes from other subsystems, but it is not intended to cover our topic branches. |
| 25 | + - Providing extra testing to patches by making them easily available to more developers. |
| 26 | + |
| 27 | +Note that this branch may be updated/rebased frequently and it might be gone in the future. Currently, it is on hold. |
| 28 | + |
| 29 | +### Topic branches (`staging/*`) |
| 30 | + |
| 31 | +These branches were focused on a particular topic and were meant to enable collaboration on code that is targeted for upstreaming but has not reached mainline yet. |
| 32 | + |
| 33 | +Some of these branches may contain work-in-progress code (similar to [staging trees](https://docs.kernel.org/process/2.Process.html?highlight=staging#staging-trees)) that may not be suitable for upstreaming or general usage yet. Please check the details of each branch. |
| 34 | + |
| 35 | +Changes to these branches land via GitHub PRs. Nevertheless, contributions should still follow the usual Linux kernel development process — see [Contributing](Contributing.md) for details. |
| 36 | + |
| 37 | +If you are interested in maintaining a new topic branch, then please [contact us](Contact.md). Thank you! |
| 38 | + |
| 39 | +#### `staging/dev` |
| 40 | + |
| 41 | +[`staging/dev`](https://github.com/Rust-for-Linux/linux/tree/staging/dev) is a branch intended to integrate the other topic branches (similar to the role of `rust-dev` for the main branches). |
| 42 | + |
| 43 | +It is maintained by Danilo Krummrich and Philipp Stanner. Please contact them through [Zulip](Contact.md#zulip-chat). |
| 44 | + |
| 45 | +#### `staging/rust-device` |
| 46 | + |
| 47 | +[`staging/rust-device`](https://github.com/Rust-for-Linux/linux/tree/staging/rust-device) is dedicated to device/driver-related abstractions. |
| 48 | + |
| 49 | +The branch is kept in a compilable state (rebased regularly on top of `rust-next` or mainline). Fixes and features are welcome. |
| 50 | + |
| 51 | +It is maintained by Danilo Krummrich and Philipp Stanner. Please contact them through [Zulip](Contact.md#zulip-chat). |
| 52 | + |
| 53 | +#### `staging/rust-net` |
| 54 | + |
| 55 | +[`staging/rust-net`](https://github.com/Rust-for-Linux/linux/tree/staging/rust-net) is dedicated to networking-related abstractions. |
| 56 | + |
| 57 | +The branch is kept in a compilable state (rebased regularly on top of `rust-next` or mainline). Fixes and features are welcome. |
| 58 | + |
| 59 | +It is maintained by Trevor Gross and Valentin Obst. Please contact them through [Zulip](Contact.md#zulip-chat). |
| 60 | + |
| 61 | +#### `staging/rust-pci` |
| 62 | + |
| 63 | +[`staging/rust-pci`](https://github.com/Rust-for-Linux/linux/tree/staging/rust-pci) is dedicated to PCI-related abstractions, which are used by e.g. the [NVMe driver](NVMe-driver.md). |
| 64 | + |
| 65 | +The branch is kept in a compilable state (rebased regularly on top of `rust-next` or mainline). Fixes and features are welcome. |
| 66 | + |
| 67 | +Danilo Krummrich is `rust-pci`'s maintainer. You can also contact him through [Zulip](Contact.md#zulip-chat). |
0 commit comments