2 ms·
In addition to the other comments about not forking, I will add this disadvantage of forking: I have thought in the past that if your forking technology is a b
by adrianmsmith 6y ago
In addition to the other comments about not forking, I will add this disadvantage of forking:
I have thought in the past that if your forking technology is a branch in git, you can still merge changes (or cherry-pick, etc.), so all is not lost in terms of creating features or fixing bugs which should affect both platforms. However...
The problem there becomes refactoring. If you're e.g. using Java, with e.g. IntelliJ, you can e.g. rename methods and all usages will also get renamed. That's good, and that feature doesn't just speed you up, it also encourages you to do the refactoring at all, leading to better code long-term.
However, if you have n branches, IntelliJ is only going to refactor the branch you're on. After you've merged the change into the other branch, all the features custom-developed for that branch will still use the old e.g. method name, you'll have to update those usages by hand, which is a lot of work.
If you keep the code in one codebase (e.g. feature flags, config file, whatever), if you refactor something, all the usages (even in code hidden behind the feature flags) will also get renamed.