6년간의 커밋 시각화
원문은 Salvatore Sanfilippo님이 에 게재했습니다. 이 블로그 구독하기
오늘 Git에 있는 Redis 커밋을 전부 그래프로 그려보고 싶어졌다. Git에 있는 것이 전체 Redis 커밋의 90%에 해당한다. 초기에는 잠깐 SVN을 쓴 시기가 있었지만 곧바로 옮겨왔기 때문이다.
원본 크기 이미지는 여기에서 볼 수 있다: http://antirez.com/misc/commitsvis.png

각 커밋은 사각형 하나로 표시된다. 높이는 영향을 받은 라인 수이며(로그 스케일이 사용되었다), 회색 라벨은 릴리스 태그를 나타낸다.
커밋 양이 시간이 지나도 대체로 일정하게 유지되어 왔기 때문에 크게 놀랄 만한 점은 없다. 다만 이제 3.0과 이후 릴리스에 기능을 백포트하지 않게 되면서 새로운 패치 레벨 버전이 출시되는 속도는 느려졌다.
메이저 릴리스는 2.6, 2.8, 3.0 사이에서는 대체로 균등한 간격으로 분포된 것처럼 보이지만, 초기에는 더 자주 있었다. 이 부분은 곧 바뀌어야 할 텐데, 우리는 1년에 3개의 신규 메이저 릴리스를 내는 시간 기반 릴리스 방식으로 전환을 시도하고 있기 때문이다(당연히 1년이 걸리던 예전 메이저 릴리스에 담겼던 양에 비하면 새로 들어가는 내용은 더 적을 것이다). 예를 들어 3.2 RC는 2015년 12월에 나올 예정이다.
특정 메이저 릴리스의 패치 릴리스는 대체로 로그 곡선 형태를 띠는 경향이 있다. 릴리스가 성숙해질수록 일반적으로 치명적인 버그가 줄어들고, 관심도 점차 새 릴리스로 옮겨가기 때문이다.
GitHub에서 이런 종류의 그래프는 물론 훨씬 더 많은 것을 제공해주면 좋겠다. 수년간 이어져 온 프로젝트의 커밋에는 엄청나게 많은 데이터가 담겨 있다. 이 데이터는 분석되고 탐색되어야 하는데... 그래프 섹션이 수년째 그대로인 것은 아쉽다.
수정: 이 그래프를 생성하는 데 사용된 Tcl 스크립트는 여기에서 볼 수 있다: https://github.com/antirez/redis/tree/unstable/utils/graphs/commits-over-time
글을 무작위로 읽기
댓글
로그인하고 댓글 남기기