40
I know that the history in Git is stored in a data structure called a DAG. I've heard about DFS and know it's somewhat related.
I'm curious, how do programs such as git log --graph or hg graphlog draw the history? I always thought it's quite complicated to draw the lanes and everything in such a nice way.
Could someone write some pseudo code that demonstrates it?
note: I tried looking around Git or hg's code but it's very hard to follow and get a general idea of what's going on.