Git의 히스토리가 DAG라는 데이터 구조에 저장되어 있다는 것을 알고 있습니다. 나는 DFS에 대해 듣고 다소 관련이 있다는 것을 알고있다.'git log --graph'또는 'hg graphlog'는 어떻게 작동합니까?
git log --graph
또는 hg graphlog
과 같은 프로그램이 어떻게 기록을 끌어 냈는지 궁금합니다. 나는 언제나 차선과 모든 것을 그리는 것이 꽤 복잡하다고 생각했다.
누군가가 그것을 보여주는 의사 코드를 작성할 수 있습니까?
참고 : Git 또는 hg 코드를 살펴 보았지만 계속 진행되고 있으며 진행 상황을 파악하는 것은 매우 어렵습니다.
참고로 Git의 [graph.c] (http://git.kernel.org/?p=git/git.git;a=blob;f=graph.c)가 있습니다. –
SO 질문에 "DAG를 텍스트 그래프로 표시하는 방법"문제를 간략히 (잘 명기 된) 버전으로 게시하고'code-golf '로 태그를 지정하십시오. 파이썬, 루비, C, 펄 등 많은 영리한 솔루션을 얻을 수 있습니다 ... 사람들에게 원래의 골프가 아닌 코드를 게시하고 "모든 성격을 쥐어 짜십시오"버전을 게시하도록 요청할 수 있습니다. – MatrixFrog
Git의 [history graph API] (http://www.kernel.org/pub/software/scm/git/docs/technical/api-history-graph.html)도 유용합니다. –