I understand you point of view, but honestly it will be good to have possibility to quickly check 'commit successor in a graph view from a phone.". I’m working with quite legacy systems (15-20yo) and sometimes, when I have some ideas about resolving some issues it will be good to quickly check backward and forward histories of commits around to verify something…
Thats not a dealbraker at all but it will be nice to have.
Erm. Duplication of code is ok. Removing absolutely every duplicate function is just premature optimization imho.
If you have two different customers with slightly different workflow then go ahead and create two mostly the same functions. When you will have 4 different customers with slightly different workflow, then its a time for refactoring, maybe extract basic same functionality into separate function/object, maybe introduce dynamic workflow using finite automata, maybe extract these functionality to separate modules… but never do it prematurily.
Imho, sometimes ,removing of duplication very much increases complexity and code became hard to understand and hard to modify.