My thought is that the “Git way” would be to have an “abstract” project for the 
shared code and separate “concrete” projects for each of the dialects. Within 
each dialect-specific project include the shared code as a submodule. See 
https://stackoverflow.com/questions/12883543/how-to-organize-cross-platform-projects-with-git-repository.

> On Aug 25, 2022, at 4:16 PM, s...@clipperadams.com wrote:
> 
> I’ve always supported multiple platforms (e.g. different Pharo versions) via 
> packages like MyProject-Plaform-Pharo9. Thinking back, the primary reason is 
> that is how I saw it done by other projects. Also, I adopted the practice 
> well before git was in wide use in the Pharo world.
> 
> However, Jan Bliznicenko recently suggested an alternate workflow which 
> sounds like how Pharo itself is managed: use git branches, with the primary 
> branch supporting only latest Pharo, and other branches only getting critical 
> bug fixes backported.
> 
> Not sure how that would work for projects that support other dialects e.g. 
> Gemstone and Squeak, since there would then be multiple “latest versions”.
> 
> I’m interested in opinions about these options as I feel that Magritte is an 
> important community asses and want to keep it compatible on as many platforms 
> as possible (with as little work as possible)! I also get the feeling that 
> many people keep ancient systems in production, and I wonder which they would 
> prefer - a project that is stable on a Pharo version (more or less) when that 
> version is released or having the latest commits, especially bug fixes.
> 
> Thoughts?
> 

Reply via email to