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? >