Я знаю, что история в Git хранится в структуре данных, называемой DAG. Я слышал о DFS и знаю, что это несколько связано.
Мне любопытно, как сделать такие программы, как git log --graph
или hg graphlog
, рисовать историю? Я всегда считал, что довольно сложно рисовать полосы и все так красиво.
Может ли кто-нибудь написать какой-нибудь псевдокод, который его демонстрирует?
note: Я попытался оглянуться на Git или hg-код, но мне очень сложно следовать и получить общее представление о том, что происходит.