> On 14 Jan 2021, at 10:49, Benjamin TERRIER <b.terr...@gmail.com> wrote: > On Thu, 14 Jan 2021 at 08:21, Nibedit Dey <nibedit....@gmail.com> wrote: > Thank you everyone for the suggestions. > I posted in the development group as there was less participation on the > topic in the interest group. > Below are my suggestions: > • Create a clean qt6 supermodule for better maintainability. It's still > not too late. > • If the qt5 supermodule is renamed, then it will still have many qt5 > branches. This may create confusion while looking for specific branches. > • The use of a script is a good idea, but it needs to be mentioned in > the README document. Else new Qt developer or contributors may face > difficulties while building from source. > > Actually, I agree with Thiago and think that scripts to handle the branches > is a bad idea and that the current perl script should be gone. > All is required for new Qt developers is: > 1. A good branch naming scheme (this we have) > 2. Rely on standard git submodule mechanisms > 3. A clear documentation of the branch naming scheme and branching conventions > > Adding a script only adds a black box and makes things confused. What is the > script doing? Is it doing special stuff ? Can I use a git submodule command > or will it break the magic the script did and I will have to rebuild > everything? > If the goal is to ease the entry of new developers, the use of industry > standard tools is to be favored against the use of helper scripts. > > Also I can see the point of renaming the 'qt5' repo to 'qt' since it contains > Qt 6 and Qt 5, but I cannot see the point of splitting the repo in 2 ('qt5' > and 'qt6').
If we don’t have any script, then people need to do the gerrit plumbing themselves. That’s not exactly lowering the entry level threshold, I think. I agree, we should not require scripts beyond that; fetching and managing the code should be trivial using standard git commands. Here’s the specific problem i have with git submodules and worktrees: $ cd ~/qt $ git clone git://code.qt.io/qt/qt5.git $ cd qt5 $ ./init-repository blah $ git submodule foreach ‘git worktree add ~/qt/5.15/$name 5.15' $ git submodule foreach ‘git worktree add ~/qt/6.0/$name 6.0’ $ git submodule foreach ‘git worktree add ~/qt/dev/$name dev’ Now I have a lovely set of worktrees, I can work on 5.15 by cd’ing into ~/qt/5.15, and on dev by cd’ing into 6.0. I can $ cd ~/qt/5.15/qtbase $ git cherry-pick -x $commitsh_in_dev and it works. But: ~/qt/dev is empty; ~/qt/5.15 is empty. No toplevel build system (see earlier reply; in Qt 6 I find it really valuable), and no git submodules (which I don’t care about because I never use them; I just fetch and update for each worktree when I need to). I can shoehorn them in there, but it’s messy. Maybe someone has a better idea how that can be done? From what I see, what I’d want is for the toplevel build system files to live in a separate repository. Then I can just add another worktree for that as well, and ignore that we are using git submodules. If I run into issues because changes between modules break things, then I can check out a consistent set based on the dependencies.yaml data (see earlier email). Those who want to use git submodules may do so. Volker _______________________________________________ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development