• dan@upvote.au
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    12 hours ago

    It caters more for a linear workflow, though. So modern large teams won’t find joy with SVN

    For what it’s worth, I work at a FAANG company and we don’t use branches at all. Instead, we use feature flags. Source control history is linear with no merges.

    All code changes have to go though code review before they can be committed to the main repo. Pull requests are usually not too large (we aim for ~300 lines max), contain a single commit, aren’t long-lived (often merged the same day they’re submitted unless they’re very controversial), can be stacked to handle dependencies between them (“stacked diffs”), and a whole stack can be landed together. When merged, everything is committed directly to the main branch, which all developers are working off of.

    I know that both Google and Meta take this approach, and probably other companies too.