Continuous Merging For GDC and LDC?

bcs bcs at example.com
Tue Nov 15 20:25:04 PST 2011


On 11/15/2011 03:40 PM, Iain Buclaw wrote:
> On 15 November 2011 23:21, dsimcha<dsimcha at yahoo.com>  wrote:
>> How does the merging process for new Phobos/druntime/DMD front ends work
>> w.r.t. GDC and LDC?  To what extent is it automated?  If it's mostly
>> automated except when things go wrong (or could be made so), we should set
>> up a server somewhere (maybe on one of the DMD tester boxes that's
>> underworked, if there is one) that automatically merges every commit to
>> druntime/phobos/dmd and tests it.
>>
>> It seems to take agonizingly long after every DMD release for LDC and GDC to
>> get caught up, which makes sense only if the merges are being done by hand
>> or changes are made to low-level stuff (certain parts of druntime, the glue
>> layer of the compiler, etc.).  Furthermore, such continuous merging might
>> encourage DMD/Phobos/druntime devs to do things in a more LDC/GDC-friendly
>> way and would make trunk revisions of Phobos/druntime/dmd in between
>> releases available to GDC/LDC users.
>>
>
> API changes in the D frontend could break builds. New features in D
> that require backend support could break builds.  The only positive to
> continuous merging is that they will be caught early and dealt with.
>
>
> Other than that, I tend to use merges as a time to start merging in
> some experimental features I've got in the flux.  In this current
> merge I've been working out support for named value return support in
> gdc, and weeding out some bugs present in the current in/out contract
> inheritance.
>

It seems to me that there would be some value in this proposal. If 
nothing else it could start with the most up-to-date hand merged 
instance is available, branch (is that the correct term?) from it, go as 
far as it can from that and generate a pull request for the maintainers 
to consider. If it can merge cleanly from the DMD trunk and the test 
situation doesn't regress, It's likely correct (and if it isn't then the 
test suite is lacking :) and if it's not correct, it has likely done a 
lot of the boring work.

Having that available would provide something like "nightly" builds to 
the people who want that and it would provide as much automation as the 
maintainers want to get from it (after all, it would be madness to allow 
such a system to actual muck with the official branch).


More information about the Digitalmars-d mailing list