Hello everybody,
this is a follow-up to the recent discussion on IRC (https://libera.catirclogs.org/ffmpeg-devel/2025-05-16) about patch submission via https://github.com/ffstaging/FFmpeg. It involved such preposterous statements like: "you've been refusing to use proper submission procedures, tried to introduce your own" and raised some other questions that I would like to address: What is it? =========== The implementation is adapted from GitGitGadget (https://gitgitgadget.github.io) for FFmpeg without functional changes. GitGitGadget is developed by Git developers. Git development goes through a mailing list, same like FFmpeg. Instead of using git send-email directly, developers can send patches via GGG on GitHub which is also advertised in their documentation (https://git-scm.com/docs/SubmittingPatches https://git-scm.com/docs/MyFirstContribution). So, for anybody who's trying to depict the ffstaging submissions as something different or bad, we can tell for sure: - If there would be anything wrong about it, then the Git developers themselves would be the very first people in the world to know about it - The way how it works is how the Git developers consider it to be correct Long E-Mail Threads =================== GGG runs format-patch with --thread=shallow (and sends the e-mails itself), that gives the same result as when using git send-email (where the default it --thread=shallow). In turn, each patch e-mail will show as a reply to the cover-letter (0/X). But additionally, it specifies the --in-reply-to parameter - pointing to the cover letter of one the previous revision. This chaining is essentially what is causing the threads to become huge. It ties all revisions together. When looking at the Git docs for developers (https://git-scm.com/docs/MyFirstContribution#v2-git-send-email), we can see that this is intentional: According to the docs for manual submissions, it's a requirement to do this when sending new revisions of a patchset. As that is not a requirement for FFmpeg, I have removed this behavior now! ============================= Other comments were: "kludgy github submission on your end where you dump huge patches" "it highly encourages huge patchsets" Does it cause large Patchsets? ============================== It is not quite clear how one might come to think that. Maybe the idea is that it would require to always push new additional commits to GitHub and that this would make the patchset longer with each revision? => Of course not. The reason why the patchset grew from 10 to 15 was from review comments like "this should be in a separate commit" - so I separated them. The last commit of the patchset has always been the last one, since v1. Or is the idea perhaps that it would make it easier to deal with larger patchsets? => First of all, that would be great and nothing bad - but no! When using git send-email, you are running a single command. What's tedious is to write that command, but it doesn't matter whether it's 3 or 30 commits. Same for the GitHub path, you just don't need write the command. Finally: The way I'm working doesn't depend on the submission procedure. Even when I had to print out everything on paper and send it by postal mail, that wouldn't make any change. No idea how someone could think it would be any different. And for this comment: "Even if it posted it as a new thread each iteration, the general problem is that it causes too many full iterations still remains" => I'm not sure how it could "cause too many full iterations".. If it's about "many": The number of iterations I send is not dependent on which tooling I use. Just because I find submissions via CLI tedious doesn't mean that I would do it differently. If it's about "full": I've never sent new versions of individual patches only from a set and I'm not intending to do that. Here's why: I rarely have patchsets which are just a collection of independent patches. But when it would turn out that there one patch in such a set that needs more discussion or review, then I rather remove that one from the set and resubmit that one separately. In all other cases, where patches are depending on each other, I'm expecting for each revision I send, that it will be the final one (except the first few in a complex set). If I wouldn't think that, I normally wouldn't send it (or mark as RFC). The final revision should be all-green on Patchwork and you can't get that with just partial patches sent. That's why I don't see much point in this and I also see it done by others just very rarely. Yet I'll try to send less revisions in the future. Thanks sw _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".