Skip to content

Commit 4cb4d32

Browse files
committed
Branches: update subpage
The information here was a bit outdated with all that happened recently and all the new entries being created in the `MAINTAINERS` file, e.g. the topic branches are not really used anymore. Thus update it. Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
1 parent 5980e02 commit 4cb4d32

File tree

1 file changed

+60
-34
lines changed

1 file changed

+60
-34
lines changed

src/Branches.md

Lines changed: 60 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22

33
## Main branches
44

5-
Currently we maintain the following main branches.
5+
Currently we maintain the following main branches. There are, of course, other trees that also land Rust code via their own trees. For the latest information, please check the [`MAINTAINERS` file](https://docs.kernel.org/process/maintainers.html).
6+
7+
They are all part of [`linux-next`](https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/).
68

79
### `rust-next`
810

9-
[`rust-next`](https://github.com/Rust-for-Linux/linux/tree/rust-next) is the branch that contains new Rust features to be submitted during the next merge window of the Linux kernel.
11+
[`rust-next`](https://github.com/Rust-for-Linux/linux/tree/rust-next) is the branch that contains new Rust features to be submitted during the next merge window of the Linux kernel. That is, it is the development branch of the ["RUST" entry](https://docs.kernel.org/process/maintainers.html#rust) in the `MAINTAINERS` file.
1012

11-
Changes to this branch land via patches sent to the mailing list.
13+
Changes to this branch land via patches sent to the mailing list, or through pulls of one of the subtrees (please see below).
1214

1315
It is part of [`linux-next`](https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/).
1416

@@ -20,6 +22,46 @@ Changes to this branch land via patches sent to the mailing list.
2022

2123
It is part of [`linux-next`](https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/).
2224

25+
## Subtrees
26+
27+
These are the branches of the Rust subtrees that land into mainline via the main `rust-next` branch.
28+
29+
Changes to these branches land via patches sent to the mailing list.
30+
31+
They are all part of [`linux-next`](https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/). Fixes for these branches land through `rust-fixes`.
32+
33+
### `alloc-next`
34+
35+
[`alloc-next`](https://github.com/Rust-for-Linux/linux/tree/alloc-next) is the branch for the ["RUST [ALLOC]" entry](https://docs.kernel.org/process/maintainers.html#rust-alloc) and the ["DMA MAPPING HELPERS DEVICE DRIVER API [RUST]" entry](https://docs.kernel.org/process/maintainers.html#dma-mapping-helpers-device-driver-api-rust) in the `MAINTAINERS` file.
36+
37+
### `pin-init-next`
38+
39+
[`pin-init-next`](https://github.com/Rust-for-Linux/linux/tree/pin-init-next) is the branch for the ["RUST [PIN-INIT]" entry](https://docs.kernel.org/process/maintainers.html#rust-pin-init) in the `MAINTAINERS` file.
40+
41+
### `timekeeping-next`
42+
43+
[`timekeeping-next`](https://github.com/Rust-for-Linux/linux/tree/timekeeping-next) is the branch for the ["DELAY, SLEEP, TIMEKEEPING, TIMERS [RUST]" entry](https://docs.kernel.org/process/maintainers.html#delay-sleep-timekeeping-timers-rust) in the `MAINTAINERS` file.
44+
45+
### `xarray-next`
46+
47+
[`xarray-next`](https://github.com/Rust-for-Linux/linux/tree/xarray-next) is the branch for the ["XARRAY API [RUST]" entry](https://docs.kernel.org/process/maintainers.html#xarray-api-rust) in the `MAINTAINERS` file.
48+
49+
## Past branches
50+
51+
These branches are unmaintained, archived, deprecated, frozen or do not exist anymore in the repository.
52+
53+
### `rust`
54+
55+
[`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.
56+
57+
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.
58+
59+
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.
60+
61+
Similarly, its [Rust code documentation (2023-03-13)](https://rust-for-linux.github.io/docs/rust/kernel/) is archived as well.
62+
63+
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.
64+
2365
### `rust-dev`
2466

2567
[`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".
@@ -30,60 +72,44 @@ Its intended use cases are:
3072
- 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.
3173
- Providing extra testing to patches by making them easily available to more developers.
3274

33-
Note that this branch may be updated/rebased frequently and it might be gone in the future.
75+
Note that this branch may be updated/rebased frequently and it might be gone in the future. Currently, it is on hold.
3476

35-
## Topic branches
77+
### Topic branches (`staging/*`)
3678

37-
These branches are focused on a particular topic and are meant to enable collaboration on code that is targeted for upstreaming but has not reached mainline yet.
79+
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.
3880

3981
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.
4082

4183
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.
4284

4385
If you are interested in maintaining a new topic branch, then please [contact us](Contact.md). Thank you!
4486

45-
### `staging/rust-pci`
46-
47-
[`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).
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-
Danilo Krummrich is `rust-pci`'s maintainer. You can also contact him 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.
87+
#### `staging/dev`
5688

57-
The branch is kept in a compilable state (rebased regularly on top of `rust-next` or mainline). Fixes and features are welcome.
89+
[`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).
5890

59-
It is maintained by Trevor Gross and Valentin Obst. Please contact them through [Zulip](Contact.md#zulip-chat).
91+
It is maintained by Danilo Krummrich and Philipp Stanner. Please contact them through [Zulip](Contact.md#zulip-chat).
6092

61-
### `staging/rust-device`
93+
#### `staging/rust-device`
6294

6395
[`staging/rust-device`](https://github.com/Rust-for-Linux/linux/tree/staging/rust-device) is dedicated to device/driver-related abstractions.
6496

6597
The branch is kept in a compilable state (rebased regularly on top of `rust-next` or mainline). Fixes and features are welcome.
6698

6799
It is maintained by Danilo Krummrich and Philipp Stanner. Please contact them through [Zulip](Contact.md#zulip-chat).
68100

69-
### `staging/dev`
70-
71-
[`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).
72-
73-
It is maintained by Danilo Krummrich and Philipp Stanner. Please contact them through [Zulip](Contact.md#zulip-chat).
101+
#### `staging/rust-net`
74102

75-
## Past branches
103+
[`staging/rust-net`](https://github.com/Rust-for-Linux/linux/tree/staging/rust-net) is dedicated to networking-related abstractions.
76104

77-
These branches are unmaintained, archived, deprecated, frozen or do not exist anymore in the repository.
105+
The branch is kept in a compilable state (rebased regularly on top of `rust-next` or mainline). Fixes and features are welcome.
78106

79-
### `rust`
107+
It is maintained by Trevor Gross and Valentin Obst. Please contact them through [Zulip](Contact.md#zulip-chat).
80108

81-
[`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.
109+
#### `staging/rust-pci`
82110

83-
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.
84-
85-
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.
111+
[`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).
86112

87-
Similarly, its [Rust code documentation (2023-03-13)](https://rust-for-linux.github.io/docs/rust/kernel/) is archived as well.
113+
The branch is kept in a compilable state (rebased regularly on top of `rust-next` or mainline). Fixes and features are welcome.
88114

89-
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.
115+
Danilo Krummrich is `rust-pci`'s maintainer. You can also contact him through [Zulip](Contact.md#zulip-chat).

0 commit comments

Comments
 (0)