Hi Niklas On Tue, Mar 24, 2026 at 04:03:19PM +0100, Niklas Haas via ffmpeg-devel wrote: > On Tue, Mar 24, 2026, at 3:23 PM, Michael Niedermayer via ffmpeg-devel wrote: > > If you mean that checkasm would be hosted on code.ffmpeg.org, then yes, > > that would address the main concern I raised. > > > > If you have a more specific setup in mind, please elaborate. > > > > thx > > Code is now at https://code.ffmpeg.org/FFmpeg/checkasm > > However, I'm not the best at CI, so I would appreciate if somebody else could > port the CI checks to run locally on foregejo (if possible). Either way, this > is still a strict improvement over the status quo, even without tests, so I > don't think missing local testing should be a blocker anymore? > > Regarding the preferred method of integrating this into FFmpeg/FFmpeg, I will > start a GA vote in 48 hours with the following options: > > * A: Plain code dump (as v1 of this PR) of only relevant files > * B: Git subtree with full history > * C: Git subtree with squashed history > * D: Git subtree with squashed history, amended to remove unnecessary files > * D: Git submodules
Some technical thoughts:
subtree with squashed history vs plain code dump.
A squashed subtree is operationally similar to a vendor/code dump in that
it imports snapshots rather than full upstream history, but it usually retains
enough metadata to make later updates cleaner and more traceable.
subtree with full history vs squashed
A full-history subtree preserves most of Git’s forensic and
history-analysis value (blame, path history, grep over commit messages,
provenance) and also ensures correct legal attribution of changes. A squashed
subtree gives a simpler history but looses exact author attribution
"Removing unnecessary files"
That is not really a separate architectural choice; it is an additional
policy that can be applied to several integration models, except perhaps
submodules.
Git submodules
Submodules are usually most appropriate when a component should remain a
separately versioned project with its own history and lifecycle, and the
superproject merely wants to pin a specific revision. They are less attractive
when the component is effectively part of the main project’s day-to-day
development.
Merge commits
Git is fundamentally designed around distributed development and merging.
And I think distributed development and merging is what checkasm and ffmpeg
would be doing here
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Many that live deserve death. And some that die deserve life. Can you give
it to them? Then do not be too eager to deal out death in judgement. For
even the very wise cannot see all ends. -- Gandalf
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
