[Development] Qt6 repo

Edward Welbourne edward.welbourne at qt.io
Wed Jan 13 15:22:59 CET 2021

Volker Hilsheimer (13 January 2021 14:37) wrote:
> Let me make a more radical proposal:
> The information about which modules depend on which others modules
> lives in each module’s dependency.yaml file. This information includes
> the sha1 of the modules it has last been successfully tested against.
> This information is (inconsistently) duplicated in .gitmodules. So
> proposal:
> * stop using git submodules
> Using them serves no real purposes anymore. We anyway have our own
> scripting in form of init-repository to avoid that people have to deal
> with that stuff.

Little detail: init-repository relies on the .gitmodules file and uses
git submodule.  So eliminating git submodule in favour of a script that
depends on it isn't an option.

In particular, qt5/.gitmodules contains information about module status,
whether each is essential, deprecated, in preview, an addon or to be
ignored.  My scripts to generate the api change reviews use this
information to identify which modules are candidates for such a review.
So it's not just init-repository (which does also use status info).

Not that this argues against more flexible tooling that relegates the
super-module-based structure to the background, but we do still need the
information presently contained in .gitmodules, although perhaps it's
time to eliminate its dependency information in favour of the YAML
config files.

We could, of course, move the information presently in .gitmodules into
some other file within each module (possibly unifying this with what's
presently in sync.profile and dependencies.yaml), if you're OK with
rewriting init-repository (ideally in python3) as part of your plan.


More information about the Development mailing list