Hacker News new | ask | show | jobs
by littlestymaar 2643 days ago
Git “trees” are graphs though, since you have merge commits.
1 comments

More to the point, they are DAGs. Git objects cannot form a loop, thus they are acyclic. </pedantic>
That's absolutely correct. And your emphasis on this is on point, since DAG are relatively easy to implement in Rust: You just need to use ref-counting (instead of plain `Box` for a Tree) whereas general purpose graphs are harder to implement (and can lead to run-time bugs if node deletions aren't managed properly).