[cfe-dev] Questions about Workflow & Submitting Patches

Shyan Akmal via cfe-dev cfe-dev at lists.llvm.org
Tue Oct 16 16:41:29 PDT 2018


Thank you everyone for the suggestions! The details in the workflow
suggested by Whisperity seem like they'll be very helpful to us moving
forward.

Manuel's point of keeping all reviews public makes a lot of sense. Are
there any general guidelines on how large we can make a single patch? In
general I know that keeping changes smaller is better, but is it fine to
write an entirely new clang-tidy check, and then submit that as a single
patch?


On Tue, Oct 16, 2018 at 2:29 AM Manuel Klimek <klimek at google.com> wrote:

> On Tue, Oct 16, 2018 at 4:14 AM Shyan Akmal <sakmal at g.hmc.edu> wrote:
>
>> Hello,
>>
>> I'm working with a team of students that's interested in contributing to
>> the clang front end (with the initial step of writing new checks for
>> clang-tidy).
>>
>> We'd like to setup a workflow that makes it easy for us to review each
>> other's work before officially submitting changes upstream, and also will
>> be amenable to officially integrating our changes to clang-tidy.
>>
>
> My advice would be to not do that, but to do all reviews publicly in
> phabricator. Otherwise the reviewer that accepts the patch will potentially
> go into all the same questions again that were discussed earlier, and the
> later you get architectural feedback, the more expensive to change it, so
> the chance to get insight from folks as early as possible is a huge benefit.
>
> Generally, I'd want to teach students that one of the most important rules
> of software development is that change is cheaper the earlier it is made,
> so discovering what needs to change as early as possible is probably the
> single most important skill one can develop early in one's career :)
>
>
>> Our current plan is to fork the git mirror of LLVM, and make commits to
>> this copy of the repo on GitHub. After we finish writing and reviewing a
>> check, we'd get the diff and submit a patch through Phabricator.
>>
>> This seems inline with the process suggested in the LLVM docs (from
>> https://llvm.org/docs/GettingStarted.html#for-developers-to-work-with-git-svn
>> and https://llvm.org/docs/Phabricator.html).
>>
>> *Questions*:
>>
>>    - Does this workflow make sense, and is it in accordance with LLVM
>>    developer policy?
>>    - Is there an alternate (or more standard) workflow that anyone
>>    thinks would work better?
>>    - If we work through a git repo, is it necessary to use git-svn to
>>    make sure svn (and not just git) has changes saved?
>>    - Are there any specific practices we should adopt to make sure our
>>    additions can be successfully integrated into the current version of LLVM?
>>
>> Best,
>> Shyan
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20181016/bc23c607/attachment.html>


More information about the cfe-dev mailing list