openbouffalo / linux

Linux kernel source tree
Other
6 stars 4 forks source link

Proposed Branching Structure #1

Open grant-olson opened 1 year ago

grant-olson commented 1 year ago

I've set up my repo with my proposed OpenBouffalo branch structure based on various discussions. Because this involves many branches that don't get merged anywhere, I'm opening an issue rather than a pull request. The actual branches can be seen at: https://github.com/grant-olson/linux

The design has a branch bl808/board which holds an up-to-date version of board configuration files such as the dtsi's and defconfigs. This prevents us from having merge hell when driver branches are unaware of each other. Most branches are expected to branch from this branch.

The current setup is:

Mainline v6.2
    bl808/board
        bl808/emac
        bl808/mailbox
        bl808/pinctrl-hwrng
        bl808/sdhci
        bl808/uart
        bl808/usb

These branches all exist on my repository.

Workflow to rebase to a new linux version.

All the branches get rebased.
A new version of bl808/all is created.
git merge bl808/board
git merge bl808/emac ... with all modules.

When new drivers are merged, we should get patches broken up by:

Device tree updates
defconfigs
Actual code

Upon approval 1 and 2 should be merged to bl808/board and a branch will be created for the actual code.

An example of this is under the branch bl808/all-test so as not to conflict with the real branch upstream.

If people agree this is a sensible approach then all branches listed above except bl808/all-test should be pushed to the openbouffalo repo.

grant-olson commented 1 year ago

Also wanted to note these branches are currently just the existing changeset from the arm000 branch. I have not introduced any additional code or functionality.

alexhorner commented 1 year ago

Hey @grant-olson

Following discussion between myself, you, @Fishwaldo, @gamelaster and @smaeul I have merged all of your branches into bl808/all based on v6.2 from mainline, and having successfully built the kernel and run it on my own hardware I have pushed that to this repository.

I have also taken each of your feature branches and pushed those up as separate branches to this repository, unmodified to how they are in yours.

If anyone from the Pine64/OpenBouffalo community wishes to argue that this final decision to accept this structure is not a good idea, please feel free to comment and we can continue discussion here and in the nutcracker chatrooms.

For now, considering there are other further parts to this issue that have not yet been followed or documented in any CONTRIBUTING guidelines (rebase stuff), I shall leave this issue open and pin it to the top of this repository's issues.

Thank you for your work in splitting these features down and documenting this nicely!