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.
question from:https://stackoverflow.com/questions/4739683/how-does-git-log-graph-or-hg-graphlog-work