[FFmpeg-devel] GitHub Integration
Soft Works
softworkz at hotmail.com
Fri Dec 24 00:30:35 EET 2021
> -----Original Message-----
> From: Soft Works
> Sent: Thursday, December 23, 2021 12:25 AM
> To: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
> Subject: GitHub Integration
>
> Hi,
>
> holidays are approaching and I got a little present for all of you
> even though it won’t be something for everybody.
>
> A while ago I had committed to prepare a test setup for integrating
> GitHub in a similar way as the Git developers are doing.
>
> For those who missed it or don’t remember the outcome:
> https://www.mail-archive.com/ffmpeg-devel@ffmpeg.org/msg123329.html
> https://www.mail-archive.com/ffmpeg-devel@ffmpeg.org/msg123288.html
I think I should add a quick summary on this subject for all those
who haven't followed the discussion in August.
The Git project (https://git-scm.com/) has a similar problem like
ffmpeg: There are a number of long-time core developers that are
strictly rejecting to move away from the ML based approach.
That's how GitGitGadget came to life, intending to bridge that gap.
Adopting that approach for ffmpeg has a number of advantages:
- we can skip the "learning process", i.e. finding out what works
in practical use and what doesn't
- what has found acceptance at their project - given the similar
profile of the developers involved - will likely be acceptable
for ffmpeg as well (roughly at least)
- the part that I like most is: even without explicit acceptance -
this approach doesn't leave much room for objection, because it
doesn't impose any changes or drawback to the way people are
working with the ML
Here's a rough overview about how it's working:
- User submits a PR to the GitHub repo
- When it's a user's first PR, the ffmpeg-codebot will
respond with a very comprehensive message (as PR comment),
explaining the procedures and providing an overview about
contributing to ffmpeg with links to the individual topics
on the ffmpeg website regarding contributing.
- The message further explains that first-time users are not
allowed to submit immediately, and that a user needs to
find and contact another developer who is allowed to make
submissions and ask that developer to vouch for him.
- Every developer who has been allowed to submit can vouch
for a first-time submitter
It is done by adding a comment containing "/allow" to the
first-time user's PR
- Upon submitting the PR (no matter whether first-time or existing
submitter), the code bot will likely have posted some other
comments, indicating which changes need to be made to the
patchset before it can be submitted.
- The user addresses those changes and then force-pushes the branch
to GitHub, the code bot re-runs all checks and when all
requirements are met (and only then), the user will be
able to submit.
This is done by posting a comment to the PR containing "/submit"
The code bot will automatically create the patch e-mails and
send them to the ML.
(it's also possible to post "/preview" to get the same e-mails
created but only sent to a user's own e-mail account)
- Comments that are made on the ML are mirrored back to the GitHub
PR as comments. The other way is not yet implemented, so at this
point, a user will need to respond through the ML (that's
clearly indicated).
I hope this will be implemented soon, it's not easy though to
do it in a nice way without repeating all those quoted lines
each time
What's really like is the way how you submit new versions of
a patchset:
- After having applied the changes locally, you just (force-) push
the branch again, and post another comment with "/submit"
Everything is done automatically then: the patchset version
number is increased, new patches are generated and sent to the ML
Kind regards,
softworkz
More information about the ffmpeg-devel
mailing list