[FFmpeg-devel] Structuring Commits in a Patchset
Soft Works
softworkz at hotmail.com
Sun Sep 12 00:42:23 EEST 2021
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Andreas Rheinhardt
> Sent: Saturday, 11 September 2021 23:02
> To: ffmpeg-devel at ffmpeg.org
> Subject: Re: [FFmpeg-devel] Structuring Commits in a Patchset
>
> Soft Works:
> > Hi,
> >
> > I have a question about structuring my patchset .
> >
> > IIUC, commits inside a patchset must be separated by library. Now,
> Andreas
> > mentioned that every single commit in a patchset needs to pass
> FATE/compilation.
> >
> > What if both cannot be achieved at the same time, like when commit1
> for libA
> > breaks libB which can only be addressed in a separate subsequent
> commit2 for libB?
> >
> When the ABI is closed (as usual), then commit1 must not be
> committed;
> not even together with commit2, because users are allowed to use an
> old
> version of libB together with a new version of libA.
> (In such cases we typically add a new function if an old one is not
> sufficient anymore and leave the old function in place up until the
> next
> major bump if it is not public.)
>
> When the ABI is open (as now, but not indefinitely; we will probably
> make a new release in a month or so), you can just make the changes
> to
> both libraries at the same time. Notice that this does not allow
> changes
> to the public API; it is only the ABI side of things.
>
> - Andreas
>
> PS: Atomic commits are often automatically intra-library. But if a
> commit logically touches several libraries but not in any way that
> version conflicts between libraries might arise, then splitting along
> library lines makes no sense. E.g. look at
> 2934a4b9a5ee4825480180421e4679c02e6cbbe5 for an example.
Thanks Andreas,
I understood so far, except what to do when the public API is
affected as well..
Specifically, I'm about to:
- move AVSubtitleType and AVSubtitleRect from avcodec to avutil
- merge AVSubtitle (avcodec) into AVFrame (avutil)
- adjust everything else for this change:
- avcodec
- avfilter
- ffmpeg, ffplay, ffprobe
Should that be a single commit?
Thanks,
softworkz
More information about the ffmpeg-devel
mailing list