Here's one from the past - https://issues.apache.org/jira/browse/SVN-3495
- A famous airline was the client back then and they were strangling their older (but accomplished) cgi-bin/C++ stack. We were doing concurrent development of consecutive releases. Different teams from two consultancies (ThoughtWorks and Globant) were working on different branches, and about four major releases were being developed at the same time. Each "following" release team was supposed to merge the prior release teams weekly changes. A cascade branching model. We tried to hunt around for someone to fix that big for hard cash, but could not. We hacked our way through it at the time, and a couple of months later moved every one to Trunk-Based Development (including a love of build flags, and boot flags). Flags are 'toggles' in Martin Fowler's lexicon. Branch by Abstraction figured too, as did a lot of Jenkins infrastructure and a policy of rolling back commits if they broke in any of the pipelines that Jenkins was running in parallel. Builds were still batches of commits though, a we didn't have the infra to run one build per commit. We (I) had put too much Selenium tests in the pipeline and they really took a while (even if run parallelized). It wasn't a patch on Google's per-commit fu though. Oh, with Trunk-Based Development (and flags and branch-by-abstraction) we were never going to have a merge conflict again, of course. - Paul