• lemmyvore@feddit.nl
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    My graph theory is a bit fuzzy but I think that the definition of a branch in a directed graph corresponds to the path between two nodes/vertices.

    No, it’s a subtree of a DAG (directed acyclic graph). The technical term is arborescence but people who can’t spell it say branch instead.

    Technically it should have at least 2 children to be called a branch, and it can’t connect back to the graph or it’s not a subtree anymore. So it fits what most people intuitively think a (real) tree branch should look like.

    I don’t think Git invented this concept, nor did any other version control system.

    They didn’t, but Git went too far by calling any node with a label a “branch” regardless if it’s in the middle of the DAG. It doesn’t fit graph theory and it doesn’t fit the intuitive image either.