query 명령어로 게릿에서 데이터 뽑기

게릿(Gerrit)의 리뷰 히스토리는 게릿 웹 페이지의 검색 기능을 통해 확인하거나, 게릿의 query 명령어를 통해 텍스트 데이터로 추출할 수 있다.

여기서는 query 명령어를 이용해 히스토리를 뽑아내자. 아래는 명령어 예제다.

$ ssh -p 29418 review.example.com gerrit query --format json --patch-sets --comments after:2019-6-1 before:2019-7-1 project:tools/gerrit

명령어는 review.example.com 서버에 접속하여 gerrit query 명령어를 사용하고 있다. (참고로, 29418은 Gerrit의 기본 포트 번호다.) query 명령어의 옵션 중에 헷갈리는 것들만 몇 개 살펴보자.

  • 출력 결과는 텍스트(–format text)이나 JSON(–format json) 둘 중 하나로 표시할 수 있다. 출력 결과를 바로 볼 목적이라면 텍스트가 낫지만, 재가공할 목적이라면 JSON이 낫다.
  • after는 표기한 날자를 포함하고, before는 표기한 날자를 표기하지 않는다.  위 명령어 예제로 설명하면, 6월 1일 리뷰는 포함되고 7월 1일 리뷰는 포함하지 않는다. 즉, 6월 한달 리뷰만 반환하는 셈이다.
  •  예시에는 포함되지 않았으나, –limit:500 옵션이 기본 옵션 값이다. 이 옵션은 Gerrit 시스템의 기본 제약 사항이다. 500보다 더 작을 수는 있지만, 클 수는 없다. 추가적인 권한이 있어야 –limit:500 제약을 벗어날 수 있다는데 나는 권한을 얻을 수 없었다. before / after 옵션을 활용해 1개월 단위로 나누어 검색해 검색 결과량을 500개 이하로 줄였다. query 명령어 도움말 속에 언급된 –start 옵션을 사용할 수도 있을 것이다.

참고