Hi Janek,
I have a quick question about branches in TDE repos. I see that at the moment repositories have two primary development branches: master and r14.1.x. My understanding is that the former is used to provide PTB, while the latter provides PSB.
That is correct
What I would like to know is the development flow. Is the primary development happening on master and then changes are selectively cherry-picked to r14.1.x? What is a logical distinction between master and r14.1.x? From my work in other projects, I would expect that a branch such as r14.1.x will only receive bugfixes, while master will be used as a base for new release branches in the future. That is not how things seem to work in TDE though. Looking at the commits, r14.1.x seems to receive both new features and bugfixes and it seems as if all (?) of the development made on master eventually makes it to r14.1.x. This makes me confused about the intended purpose of the master branch.
"master" is the main development branch and is the base for what R14.2.0 and R14.2.x will be. Here API/ABI changes (even breaking ones) are permitted and in general there is freedom to do whatever we want. Release cycle is roughly every 5 years. "r14.1.x" is the branch for the current R14.1.x releases, as the name implies. Here there are more restrictions on what changes are allowed and what not. Any breaking or major API/ABI change is not allowed, although minor API extensions are. A lot of the development done in master is ok to be backported to this branch, which is why you see a lot of cherry-picked commits. But some work done in master will never end up in R14.1.x, for the reasons explained above. For example master has merged tqtinterface into tqt, while r14.1.x has not. Release cycle is 6 months.
Also, is there any tentative roadmap for TDE? Is the plan to just continue working on r14.1.x, or are there plans for r14.2.x somewhere down the line?
There is a very loose plan here https://wiki.trinitydesktop.org/Trinity_Desktop_Environment#Roadmap, but it is more a list of ideas than a fixed plan. Things can change very quickly, as well as our time for the project (like 2025 is proving a very busy year for Slavek and myself...).
During development there are a lot of temporary branches, that are used to proposed and review changes. Once the changes are merged, the branches are deleted to avoid cluttering the workspace.
Cheers Michele