6 years of commit visualized

Salvatore Sanfilippo

6년간의 커밋 시각화

오늘 문득 Git에 있는 Redis 커밋을 모두 그래프로 그려보고 싶어졌습니다. Git에 있는 커밋이 전체 Redis 커밋의 90%를 차지합니다. 초기에는 잠시 SVN을 사용했지만 아주 빨리 Git으로 전환했습니다.

원본 크기 이미지는 여기에서 보실 수 있습니다: http://antirez.com/misc/commitsvis.png

각 커밋은 하나의 직사각형으로 표시됩니다. 높이는 영향을 받은 라인 수를 나타내며 로그 스케일이 적용되었습니다. 회색 라벨은 릴리스 태그를 보여줍니다.

커밋 수는 시간이 지나도 거의 일정하게 유지되어 특별히 놀라운 점은 없지만, 이제 3.0과 그 이후 릴리스에는 기능을 백포트하지 않게 되면서 새로운 패치 레벨 버전이 릴리스되는 속도는 느려졌습니다.

메이저 릴리스는 2.6, 2.8, 3.0 사이에서는 대체로 균등한 간격으로 이루어진 것처럼 보이지만 초기에는 더 자주 릴리스되었습니다. 이는 곧 달라질 예정인데, 1년에 세 번 새로운 메이저 릴리스를 내는 시간 기반 릴리스 방식으로 전환을 시도하고 있기 때문입니다(물론 1년이 걸렸던 기존 메이저 릴리스에 담겼던 양에 비하면 새로 담기는 내용은 당연히 줄어들 것입니다). 예를 들어 3.2 RC는 2015년 12월에 예정되어 있습니다.

특정 메이저 릴리스의 패치 릴리스는 대체로 로그 곡선 형태를 띠는 경향이 있습니다. 릴리스가 성숙해질수록 일반적으로 치명적인 버그가 줄어들고, 관심도 점차 새 릴리스로 옮겨가기 때문입니다.

Github가 이런 시각화는 물론 훨씬 더 다양한 기능을 제공해주면 좋겠습니다. 수년간 이어진 프로젝트의 커밋에는 정말 많은 데이터가 담겨 있습니다. 이 데이터는 분석되고 탐색되어야 하는데, 그래픽 섹션이 수년째 거의 그대로라는 것은 아쉬운 일입니다.

추가: 이 그래프를 생성하는 데 사용된 Tcl 스크립트는 여기에서 확인할 수 있습니다: https://github.com/antirez/redis/tree/unstable/utils/graphs/commits-over-time

원문은 Salvatore Sanfilippo님이 에 게재했습니다.

이 글은 muse-spark-1.2-contributor 모델을 사용해 번역했습니다.