Thoughts on versioning

Andrei Alexandrescu SeeWebsiteForEmail at
Tue Oct 26 19:53:37 UTC 2021

On 10/26/21 1:57 PM, jmh530 wrote:
> On Tuesday, 26 October 2021 at 13:52:01 UTC, Steven Schveighoffer wrote:
>> [snip]
>> After suggesting and exploring probably 4 different mechanisms, 
>> including template mixins (which almost worked), I have come to the 
>> same conclusion. Just copy and backport fixes when needed. [snip]
> I think the copy and paste approach needs to flesh out the exact 
> procedure that needs to happen at the start of development on that 
> release. For instance, should the std folder be copy/pasted with the 
> result re-named `std_v_x_xx`. This would break code if people stay on 
> std. So maybe the new `std` should be `std2` with folders saved as 
> `std2_v_x_xx`?
> What about creating aliases for each year's release? So for instance, 
> `alias std_yyyy = std_v_x_xx;`? And then increment it as new releases 
> come out each year, until the final one. It would be nice to alias an 
> entire module or package, but otherwise would need to have some 
> automated approach to add in the aliases.

It seems to me the copypasta-and-cherry-pick approach is "well-tried, 
used by most, takes huge effort and doesn't quite work".

We have a really nice namespace isolation with D and we could leverage 
it. I would want to give that a solid shake of the stick before throwing 
our hands and forking 340 KLOC.

One more thing - forking and copying is a one way street. Once we enter 
there, it's difficult to back off. In contrast if we have another 
solution we can always change our mind and fall back to forking.

More information about the Digitalmars-d mailing list