나쁜 건 당연한게 아니다

The world will not be destroyed by those who do evil but by those who watch and do nothing.
세상은 악당들 때문에 망하는 게 아니라, 악한을 보고도 아무것도 하지 않는 자들 때문에 망한다.
– Albert Einstein

이 말을 선거철에 쓰면 투표를 독려하는 것이고, 경찰서 앞에 붙어있으면 투철한 신고정신을 고취시키는 것이다. 책상 앞에 붙인다면 어떻게 될까. 나쁜 습관이나 언행, 과오를 그냥 보고 넘기면 내가 망한다. The life will not be destroyed by wrong things I did but  by me who watch and do nothing afterward.

이게 내 천성이고 고치기 힘든 것이라서 쉽게 포기하는 것이다. 악당은 원래 더 똑똑하고 힘 세다. 하지만 우리는 힘을 모아서 신고도 하고 투표도 한다. 그 과정이 하루 아침에 이뤄지지도 않는다. 뜻을 모으고, 힘을 모으고, 계획을 세운다. 결과가 잘 안될 수도 있다. 하지만 노력한다. 만약 성공하면, 통제 불가능해 보였던 악한이 사라지고 평화를 맞을 수 있다는 그 기대감으로.

인생도 마찬가지다. 끊임없이 나와 투쟁해야 한다. 사실 힘든 것도 잘 안다. 하지만 우리는 기대한다. 통제 불가능한 내 약점이 사라지고 좀 더 멋진, 그리고 더 나은 인간으로서 인정받으면서, 나에게도 다음 과업을 처리할 수 있는 시간을 주는 것.

이 스트레스는 필연적으로 부여받은 하나의 업보일 뿐이다. 피하려 하면 할수록 절대로 피할 수 없다는 사실을 깨닫게 될 것이다. 가만히 지켜보고 아무것도 하지 않는 자는 인생을 망친다.

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', checked: 'checked'
# ... 중략
= check_box_tag 'merge_request[squash]', '1', issuable.squash, class: 'form-check-input', checked: 'checked'

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


Translation may be necessary for those not familiar with Korean, so let’s summarize it.

Two options in Gitlab merge request are not checked at first, as captured above. I think it is mistake-prone to many developers, so some of them forgot to check them. It results adding merge commit(s) into master branch.

So I needed how to make them checked, and I finally got an answer.

  1. Open /opt/gitlab/embedded/service/gitlab-rails/app/views/shared/issuable/form/_merge_params.html.haml with your favorite editor.
  2. Find lines starting with check_box_tag and append it described below.
= check_box_tag 'merge_request[force_remove_source_branch]', '1', issuable.force_remove_source_branch?, class: 'form-check-input', checked: 'checked' 
# ... blahblah 
= check_box_tag 'merge_request[squash]', '1', issuable.squash, class: 'form-check-input', checked: 'checked'

After that, you should restart server by entering gitlab-ctl reconfigure && gitlab-ctl restart