[llvm-dev] [RFC] Helping release management
Frédéric Riss via llvm-dev
llvm-dev at lists.llvm.org
Tue May 10 17:48:52 PDT 2016
> On May 5, 2016, at 10:08 AM, Reid Kleckner via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> On Wed, May 4, 2016 at 5:07 PM, Quentin Colombet via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> Typically, what I had in mind was things like typos/thinko, that are bugs, that we notice a few minutes after we made the “main” commit. I do not want we have to file a PR that is going to repeat what we are going to say in the commit message.
> Yeah, I agree, we shouldn't have to file PRs for that kind of stuff. Quick fixes for the build or tests on other platforms obviously fall into this category.
> Do release managers have problems keeping track of these kinds of changes in practice, though? You can always cut the branch from some quiescent period on the weekend of night before the cut.
I’ve been doing quite a bit of that lately. The problem is not when you cut the branch, but how you maintain it. For multiple months after you branched, you’re willing to take fixes for miscompiles. So you have to got through every commit and gauge the risk/benefit, see if it applies, if it passes the tests…
Anything that helps tracking that a particular commit need followup commits to be fully functional would be a win. I think just mentioning the original commit in the followups is a minimum (then you can have tooling to relate the commits), but I don’t see a way to enforce this.
Ideally every commit message would be very explicit about what the commit is:
- a compiler crash fix (with a description of the crash trigger)
- a miscompile fix
- an optimization to the compiler code
- an optimization to the generated code
- a refactoring
It’s not always easy to distinguish between the first four, and you really want to understand it before cherry-picking in a long living branch.
Oh, and PRs are nice, but when the commit message is just “Fix PR1234”, it’s still quite some work to figure out what to do with the commit :-)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev