February 11, 2015
On Wednesday, 11 February 2015 at 16:37:29 UTC, Andrei Alexandrescu wrote:
> On 2/11/15 8:30 AM, Vladimir Panteleev wrote:
>> On Wednesday, 11 February 2015 at 16:16:41 UTC, Andrei Alexandrescu wrote:
>>> * What's going to happen with the commit history for our current
>>> projects?
>>>
>>> * How about the pull requests history?
>>
>> If you have to ask this question, there's clearly a big communication
>> gap. This is not an overhaul of existing repositories or processes. The
>> answer to both is "nothing", and I don't think anyone is seriously
>> considering a change that would invalidate either.
>
> Can't be "nothing" - there will be something. E.g. the commit history of the new repo will be a merge of the histories of the individual projects. Is that right? -- Andrei

No. New repo history will contain only information about commit hashes of submodules it contains:

http://git-scm.com/book/en/v2/Git-Tools-Submodules
February 11, 2015
On 2/11/15 8:38 AM, Vladimir Panteleev wrote:
> No. To clarify, the new repo is not a replacement of the existing ones.
> It is an additional meta-repository, which, when cloned with
> --recursive, gets all the other ones.

I see, thanks. So the change is not that dramatic. Nice!

What would be the nomenclature? Right now we have https://github.com/D-Programming-Language with individual projects.

Is it possible for D-Programming-Language to be its own meta-repository so you clone git@github.com:D-Programming-Language? I guess not.

Then the meta-repository would be https://github.com/D-Programming-Language/dlang. Effectively we add dlang as another project parallel with dmd, druntime, etc. People could continue using the current workflow or hop on the dlang integrated tooling. Is that correct?

What's the criteria for including/not including stuff in D-Programming-Language to dlang?

Can tools in tools/ assume the dlang layout? Can they assume the existence of the meta-repo?

Is the "dlang" name sufficiently descriptive? Possible alternatives: "dev", "core", "essentials", "init", "bootstrap", "root"...


Andrei
February 11, 2015
On 2/11/15 8:51 AM, Dicebot wrote:
[snip]

Thanks. I just asked a few more before reading this. -- Andrei
February 11, 2015
On 2/11/15 8:51 AM, Dicebot wrote:
> In the long term I'd like to move makefile targets that make assumptions
> about external repos (like dlang.org phobos docs generation) into
> aggregated repos - but even that is optional and will happen only if no
> one objects.

One thing that'd be good is an integrated makefile right there next to dlang.d, called GNUmakefile (not posix.mak; this is what it is - it's a gnu-specific makefile and gnu recognizes it).

It would include the respective makefiles for the subprojects, which need rework to avoid symbol collisions, and will be a one point of entry to building D artifacts.

Right now the intercommunication between dmd/druntime/phobos is a bit inconsistent and tenuous.

It does seem this might improve our quality of life.


Andrei

February 11, 2015
On Wednesday, 11 February 2015 at 16:57:35 UTC, Andrei Alexandrescu wrote:
> What would be the nomenclature? Right now we have https://github.com/D-Programming-Language with individual projects.
>
> Is it possible for D-Programming-Language to be its own meta-repository so you clone git@github.com:D-Programming-Language? I guess not.

Indeed.

> Then the meta-repository would be https://github.com/D-Programming-Language/dlang. Effectively we add dlang as another project parallel with dmd, druntime, etc. People could continue using the current workflow or hop on the dlang integrated tooling. Is that correct?

Yes.

> What's the criteria for including/not including stuff in D-Programming-Language to dlang?

Interdependent components as a minimum (dmd, phobos, druntime, tools). But I suppose it's an open question.

> Can tools in tools/ assume the dlang layout?

Makefiles already do (e.g. the default settings reference ../phobos/...)

> Can they assume the existence of the meta-repo?

Code dealing with the meta-repo can be placed in the meta-repo directly.

> Is the "dlang" name sufficiently descriptive?

I think so.

> Possible alternatives: "dev", "core", "essentials", "init", "bootstrap", "root"...

The repository's name is also the default directory name on the user's machine when cloned, so I think its name should identify that it is D-related.
February 11, 2015
On 2015-02-11 17:51, Dicebot wrote:

> Small added effort for release manager to update submodules in meta-repo
> upon new releases. Can't really imagine anything else right now.

You're thinking the meta repository is only update on each release? Or would an automated approach be a good idea?

-- 
/Jacob Carlborg
February 11, 2015
On Wednesday, 11 February 2015 at 17:23:36 UTC, Jacob Carlborg wrote:
> On 2015-02-11 17:51, Dicebot wrote:
>
>> Small added effort for release manager to update submodules in meta-repo
>> upon new releases. Can't really imagine anything else right now.
>
> You're thinking the meta repository is only update on each release? Or would an automated approach be a good idea?

Automated approach is D-dot-git:

https://bitbucket.org/cybershadow/d
February 11, 2015
On Wednesday, 11 February 2015 at 17:23:36 UTC, Jacob Carlborg wrote:
> On 2015-02-11 17:51, Dicebot wrote:
>
>> Small added effort for release manager to update submodules in meta-repo
>> upon new releases. Can't really imagine anything else right now.
>
> You're thinking the meta repository is only update on each release? Or would an automated approach be a good idea?

Yes. Updating it all the time to master creates a lot of noise in history for little practical benefit (updating to latest master is one command). For matching different repository history Vladimir maintains special repo in bitbucket with commits populated by a bot - but it is a different thing.
February 11, 2015
On 11/02/2015 13:52, Dicebot wrote:
> Biggest problem with RefCounted is that it is a struct. Thus it is
> inherently incompatible with polymorphic world.

For Unique, (which admittedly is a simpler concept), it does work with polymorphic types, see:

http://dlang.org/phobos-prerelease/std_typecons.html#.Unique.this.3

February 11, 2015
On 2/11/15 9:08 AM, Vladimir Panteleev wrote:
> The repository's name is also the default directory name on the user's
> machine when cloned, so I think its name should identify that it is
> D-related.

In that case wouldn't "d" be best? -- Andrei