[llvm-dev] Enable Contributions Through Pull-request For LLVM

Philip Reames via llvm-dev llvm-dev at lists.llvm.org
Fri Nov 8 08:29:15 PST 2019

On 11/8/19 8:15 AM, Mehdi AMINI wrote:
> On Fri, Nov 8, 2019 at 8:08 AM Philip Reames
> <listmail at philipreames.com <mailto:listmail at philipreames.com>> wrote:
>     Very strong -1 at the moment.  I think we need to let some of the
>     other efforts (e.g. issues vs bugzilla) settle out first.
> Sorry I really don’t see a relationship with issues, this seems
> entirely independent to me. I even actually see this as easier than
> issues.
We're making major changes to workflow and process.  The impact on
contributors and downstream workflows is substantial.  Spreading them
out in time a bit gives folks time to react, plan, and object if desired.
>     Weak -1 in general.  I'm not strongly opposed, but I see very
>     little value in this migration and a lot of headache.  Others have
>     explained this well, so I'll mostly skip that.
> I am not sure what « headache » your referring to at the moment.
Any change in tooling of this magnitude is a headache.  There's a period
of lost productivity no matter what the end result is.  The new tool can
be the perfect solution, and there's still a substantial switching
cost.  There's always a period where there's a net loss in productivity,
the only question is how long it is until the new tool's benefit pays it
>       I particular dislike the assumed fork model; I work in patches,
>     so that's a ton of overhead process wise. 
> Sorry but pull request and forks are strictly less overhead process
> wise, especially compared to working with patches.
> What you’re writing comes across to me as « not having switched to git
> yet ».
I have used git successfully for several years to manage internal
repositories.  We'll have to agree to disagree on your first sentence. 
> This is also the reason why we need months of trial for everyone who
> hasn’t used it extensively before to be able to give it a complete and
> honest try.
> Again I’d be perfectly happy to be ginea pig in our sub-project as
> well to begin with: it may even bring people to contribute just for
> trying pull-requests :)
> — 
> Mehdi
>     One exception for me would be docs.  If we could open pull
>     requests - and possibly the web-edit tool for folks with commit
>     access? - for the docs subtree I could see a lot of advantage in
>     making those easy for new contributors to update.  It might also
>     be a good proving ground for the workflow as a whole.
>     Philip
>     On 11/6/19 9:32 PM, Mehdi AMINI via llvm-dev wrote:
>>     Hi all,
>>     Now that we're on GitHub, we can discuss about pull-requests.
>>     I'd like to propose to enable pull-request on GitHub, as a first
>>     step as an experimental channel alongside the existing methods
>>     for contributing to LLVM.
>>     This would allow to find workflow issues and address them, and
>>     also LLVM contributors in general to start getting familiar with
>>     pull-requests without committing to switching to pull-requests
>>     immediately. The community should evaluate after a few months
>>     what would the next steps be.
>>     GitHub pull-requests is the natural way to contribute to project
>>     hosted on GitHub: this feature is so core to GitHub that there is
>>     no option to disable it! 
>>     The current proposal is to allow to integrate contributions to
>>     the LLVM project directly from pull-requests. In particular the
>>     exact setup would be the following:
>>       - Contributors should use their own fork and push a branch in
>>     their fork.
>>       - Reviews can be performed on GitHub. The canonical tools are
>>     still the mailing-list and Phabricator: a reviewer can request
>>     the review to move to Phabricator.
>>       - The only option available will be to “squash and merge”. This
>>     mode of review matches the closest our current workflow (both
>>     phabricator and mailing-list): conceptually independent
>>     contributions belongs to separate review threads, and thus
>>     separate pull-requests. 
>>     This also allow the round of reviews to not force-push the
>>     original branch and accumulate commits: this keeps the contextual
>>     history of comments and allow to visualize the incremental diff
>>     across revision of the pull-request. 
>>       - Upon “merge” of a pull-request: *history is linear* and a
>>     single commit lands in master after review is completed.
>>     As an alternative staging proposal: we could enable pull-requests
>>     only for a small subset of sub-projects in LLVM (i.e. not
>>     LLVM/clang to begin with for example) in the repo. In this case,
>>     we would propose to begin with the MLIR project (as soon as it
>>     gets integrated in the monorepo). This would be a good candidate
>>     to be the guinea pig for this process since it does not yet have
>>     a wide established community of contributors, and the current
>>     contributors are already exclusively using pull-requests
>>     <https://github.com/tensorflow/mlir/pulls>.
>>     Here is a more complete doc on the topic:
>>     https://docs.google.com/document/d/1DSHQrfydSjoqU9zEnj3rIcds6YN59Jxc37MdiggOyaI
>>     Cheers,
>>     -- 
>>     Mehdi
>>     _______________________________________________
>>     LLVM Developers mailing list
>>     llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>>     https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191108/16ad5732/attachment.html>

More information about the llvm-dev mailing list