Thread overview
[Issue 11792] Investigate migrating to a meta repo
Feb 10, 2015
Dicebot
Feb 11, 2015
Vladimir Panteleev
Feb 11, 2015
Dicebot
Feb 11, 2015
Vladimir Panteleev
Feb 11, 2015
Dicebot
Feb 28, 2015
Lionello Lunesu
Dec 17, 2022
Iain Buclaw
February 10, 2015
https://issues.dlang.org/show_bug.cgi?id=11792

Dicebot <public@dicebot.lv> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |public@dicebot.lv

--- Comment #6 from Dicebot <public@dicebot.lv> ---
Another attempt via https://github.com/Dicebot/TestDlangAggregated

(also http://forum.dlang.org/post/lzbgsrrcpjiwmexcgpyy@forum.dlang.org)

Outlining some differences:

1) use of git 1.8.2+ feature of bounding submodule to remote branches for
simple updating to HEAD
2) providing top-level script (dlang.d) for managing typical tasks without much
investigation
3) installing toolchain into single ./bin folder inside same repo which can be
added to system PATH to immediately start using new stuff
4) stated goal for moving meta-tools from tools repo to meta-repo and replacing
makefiles with D scripts for better cross-platform development experience

--
February 11, 2015
https://issues.dlang.org/show_bug.cgi?id=11792

--- Comment #7 from Vladimir Panteleev <thecybershadow@gmail.com> ---
On the forum, I posted ([1]):

> I would like to add that, however, it might be worth considering moving everything to a single repository at the same time as the switch to DDMD. DDMD by itself is a big change, so aggregating other changes with big wolkflow impact (but net benefit in the long run) would make sense.

This would also be a good time to replace makefiles with a D build tool.

Here are some thoughts on how this can be done:

- Create the repo with an experimental status ahead of time, so that it can be
extensively tested.
- Decide on a date on which the switch will occur.
- Add comment to all open pull requests some time before, that the changes will
need to be rebased on the new repository.
- Use git-subtree to add the existing repositories to the new unified
repository.
- Add a commit to the existing repositories which replaces the README (and
possibly all content) with a link to the new repository.
- Move the old repositories to a new organization (e.g.
D-Programming-Language-Old) so they don't clutter D-P-L organization's project
list. TODO: Check if GitHub creates redirects (we need redirects).

Although the change is big, the gain is also big: we will have one single repository using a self-hosted compiler and build system. By doing these all together, we will need to break things only once.

[1]: http://forum.dlang.org/post/fjpppbranpbikojvkdxv@forum.dlang.org

--
February 11, 2015
https://issues.dlang.org/show_bug.cgi?id=11792

--- Comment #8 from Dicebot <public@dicebot.lv> ---
I am of very bad opinion of subtree approach (single "physical" repo). It would destroy natural separation of areas of interest for pull request reviewers (need to add "dmd"/"phobos" labels manually for each PR), make commit history so noisy it is impossible to follow for few specific projects, make impossible to finely tune team permissions to different repos.

Only benefit is reducing amount of repositories under D-Programming-Language organization. I don't see it a problem that needs solution, not at this cost at least.

--
February 11, 2015
https://issues.dlang.org/show_bug.cgi?id=11792

--- Comment #9 from Vladimir Panteleev <thecybershadow@gmail.com> ---
(In reply to Dicebot from comment #8)
> It
> would destroy natural separation of areas of interest for pull request
> reviewers (need to add "dmd"/"phobos" labels manually for each PR),

It would not be hard to write a bot to apply these labels automatically.

> make
> commit history so noisy it is impossible to follow for few specific
> projects,

It is easy in git to see the log of a specific directory, "git log phobos" or "gitk phobos".

> make impossible to finely tune team permissions to different repos.

Valid argument, but I'm not sure how important it is.

> Only benefit is reducing amount of repositories under D-Programming-Language organization. I don't see it a problem that needs solution, not at this cost at least.

There are more benefits:

- Code which affects multiple projects can be done as one commit.
- Makefiles and build scripts no longer need to assume (but allow overriding)
location of other subcomponents - their location will be guaranteed. This means
they can be simplified.
- It will be easy to build D at a specific point in its development.
- It will no longer be necessary to use specialized tools such as Digger to
bisect regressions.

--
February 11, 2015
https://issues.dlang.org/show_bug.cgi?id=11792

--- Comment #10 from Dicebot <public@dicebot.lv> ---
> It is easy in git to see the log of a specific directory, "git log phobos" or "gitk phobos"

I was referring to following on GitHub, not exploring plain git history. For example I am currently subscribed to all changes in Phobos but not in DMD and druntime - combined together it is simply too much stuff to me to follow.

> - Makefiles and build scripts no longer need to assume (but allow overriding) location of other subcomponents - their location will be guaranteed. This means they can be simplified.

This is addressed by my proposed scheme (with submodules) too.

As for the other points - you propose to improve experience for very small group of developers (those who need to do history bisection and/or do changes on multiple repos at once) at the cost of harming experience for more casual one (anyone who does D development / reviewing or simply wants to know what happens in more details).

I think having specialized tool (Digger) for specialized tasks is more
appropriate that having specialized tool (tagging bot + custom activity feed
filters) for common tasks.

--
February 28, 2015
https://issues.dlang.org/show_bug.cgi?id=11792

Lionello Lunesu <lio+bugzilla@lunesu.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lio+bugzilla@lunesu.com

--- Comment #11 from Lionello Lunesu <lio+bugzilla@lunesu.com> ---
Just ran into this issue. I'm using this:

https://github.com/lionello/d-meta

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=11792

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P2                          |P3

--