Keeping the fork updated
A few days ago TDesktop got quite big internal changes. To keep fork alive, it should be as updated as possible. It's challenging since it healily relies on TD sources: some functions that were added may get lost partially or even fully.
I'll be honest: thought about this problem bugged me even before I started development. I knew that one day changes will be so big that supporting them will be hard. So I tried to find a solution for this problem, but once I started, my focus totally changed for development. But in the end, I faced this problem.
How I decided to solve it
I had an idea to make own patcher or store fork as diff patches, but went other way: control branches.
Point is create local "control" branch, where all changes shown not chronologically, but as rebased on TDesktop's code.
I'm not going to publish this branch, otherwise repo will suffer from constant fast-forwards, but I'm saving separate copy of control branch, starting from 1.1.2.
— control-k1.1.2
— control-k1.1.3
— control-k1.1.4
How are they useful
Firstly, all fork changes are grouped by separate features instead of chronological order. Only two first commits are generalized: documentation, app name, icon and updater. Others are split by feature so you can easily see what's wrong and what feature you can rework.
Secondly, since branch merging often keeps unnecessary files (and sometimes messes everything up), branch comparisons may help to get rid of that cases.
So I hope that these branches will make fork support easier in the long run. For now they shown themselves from good side, but we'll see how it will go.
Post #76
566