[llvm-dev] Committing with git

Robinson, Paul via llvm-dev llvm-dev at lists.llvm.org
Mon Nov 4 05:49:52 PST 2019

(resending with the list cc restored)

Jacob Carlborg wrote:
> I think in most open source projects the workflow is to create a pull
> request. Then the CI infrastructure will build and test that PR which is
> hopefully up to date with the master branch. When that passes the tests
> and review it will be merged into master. Then the CI infrastructure
> builds and tests it again. In the mean time some changes might have been
> made to master. In my experience it's rare that a PR that passes breaks
> something when it gets merged. But most projects are not as large as LLVM.

Remember that SVN inherently did something like a rebase on every commit
(because SVN does not require the entire checkout to be up-to-date, only
the files touched by the commit).  I think it was rare for this to be the
source of a problem, and I would expect a PR model with automatic rebase
generally would not have a problem either.

> So yes, one definitely needs to rely on the CI infrastructure. In my
> experience it's rare that a contributor will run the tests on another
> platforms than the contributor's main development platform.

This is more likely to be an issue, however it is not a new issue and I
doubt that a PR model would have any detectable effect on the frequency.
We already rely on CI to find these things, and without actually taking
any statistics, my impression is that CI finds something nearly every
day.  We fix it or revert, and move on.

More information about the llvm-dev mailing list