Proposal : aggregated dlang git repository

Dicebot via Digitalmars-d digitalmars-d at puremagic.com
Wed Feb 11 05:41:38 PST 2015


On Wednesday, 11 February 2015 at 13:33:29 UTC, Luc Bourhis wrote:
> On Tuesday, 10 February 2015 at 22:12:41 UTC, Vladimir 
> Panteleev wrote:
>> On Tuesday, 10 February 2015 at 21:45:49 UTC, Luc Bourhis 
>> wrote:
>>> On Monday, 9 February 2015 at 06:33:42 UTC, Dicebot wrote:
>>>> Idea is to create an aggregated repository as part of 
>>>> D-Programming-Language organization which will include other 
>>>> existing ones as a submodules
>>>
>>> Imho, git subtree would be a better idea
>>
>> I don't think so.
>>
>> What are the advantages?
>
> With subtree, one has a unified working directory from which 
> one can straightforwardly make commits for each components. So 
> if one makes a change on phobos that relies on a change on dmd, 
> both changes can easily be made, committed and then pushed. 
> With submodule, this is so cumbersome that it would requires 
> some dedicated scripts.

Switching actual development to aggregated is not considered, 
because it is much more intrusive change. I have considered 
subtree and rejected that approach exactly because it does not 
actually track remotes for aggregated projects that way.

My proposal does not change _anything_ in existing development 
process and this important. It simply adds extra layer of 
convenience on top.

It is also important that changes to affect multiple repos at the 
same time are relatively rare and optimizing layout for those 
does not seem practical.

>>One big disadvantage that I see is that you can't create pull
>> requests to the original repos from subtrees.
>
> You would create pull separate pull requests for the dmd 
> repository, the phobos directory, etc. You mean you want to be 
> able to do pull request from the master repository? Again, it 
> seems to me this is not going to be intuitive at all with 
> submodules.

No so far one complained about it being counter-intuitive, quite 
the contrary. Complicated part is configuring and testing 
everything, not submitting pull requests - latter seems to work 
perfectly as it is now.


More information about the Digitalmars-d mailing list