Conversation

Has a tool ever been written for automated maintenance+CI of a downstream patch set / fork? In other words, I have an upstream repo, and I want to maintain my own repo which is upstream plus a set of patches. [1/2]
3
3
But whenever upstream receives a commit, I want automation to try applying the patch set on top of the new commit, and if it works, build+test the result. On failure, notify humans. There should be an explicit, mutable mapping of original commit -> patched commit. [2/2]
2
1
This could be useful in many scenarios. Linux distros’ package patches, Rust’s fork of LLVM, ungoogled-chromium, Linux hardware forks (though you should upstream!)… Today these tend to involve someone manually rebasing/merging, and as such only update upon major releases.
2
1
Replying to and
There is a fair bit of scripting being used but the core of our approach is keeping everything cleanly rebased and obsessively cleaning up / minimizing / reviewing our patch sets to the upstream repositories. Also, tricking upstream into doing our work for us tends to work well.
1
2
Replying to and
We'd like to be trying to land a lot of stuff upstream again but we've had a lot to deal with recently. Focusing on development at all has been difficult. Our changes to Chromium aren't as substantial and we feel most could realistically be landed upstream as build configuration.
1
Replying to and
Chromium is used by a bunch of projects including major browsers like Microsoft Edge. The upstream open source project should really be a lot more vendor neutral in the first place. Should be easier to change defaults and services should be optional / have configurable provider.
1
Replying to and
AOSP is a lot harder because it's developed internally and we unfortunately do not currently have early access to the major releases. Each major release gets 3 years of security updates but we consider it extremely important to port to the yearly major release within a few weeks.
1
Replying to and
They often back out changes or revise something a lot so I just don't want to deal with it as it goes through development. Better to start on the Beta of a certain release as it's approaching the Stable release and port to it a week or so from the Stable release so it's ready.
1
Show replies