Gitlab merge request 옵션 기본으로 두기

Gitlab Community 에서 필요로 하는 기능인데, 이렇게 수동으로 할 수 있어서 간단히 남긴다. Gitlab 에 있는 merge request 에 보면 다음 옵션이 있는데, 전부 체크가 해제되어 있다.

  • Merge Request 에 성공한 Source Branch 를 삭제
  • Merge Request 할 때 Commit 을 하나로 뭉쳐서 Merge (=Squash Merge)

이 체크박스를 개발자가 일일해 해 줘야 하는 문제가 있다. 그래서 어떤 개발자는 체크하는 것을 까먹었다가 master branch 의 commit tree 를 엉망으로 만들기도 한다. 이 문제를 그냥 없애기 위해, 체크박스 표시를 그대로 두도록 하면 어떨까 고민하던 차에, 해결방법을 알아냈다.

  1. /opt/gitlab/embedded/service/gitlab-rails/app/views/shared/issuable/form/_merge_params.html.haml 을 편집기로 연다.
  2. check_box_tag 항목으로 시작하는 줄이 두 군데 있는데, 아래와 같이 다음 내용을 ‘추가’ 한다.
= check_box_tag 'merge_request[force_remove_source_branch]', '1', issuable.force_remove_source_branch?, class: 'form-check-input'<span style="color: #ff0000;">, checked: 'checked'</span> 
<span style="color: #0000ff;"># ... blahblah</span> 
= check_box_tag 'merge_request[squash]', '1', issuable.squash, class: 'form-check-input'<span style="color: #ff0000;">, checked: 'checked'</span>```

다 했다면 gitlab-ctl reconfigure && gitlab-ctl restart 로 Gitlab 서버를 재시작한다.

Hugo 기반 / JimmyStack 테마를 사용 중입니다.