Recipes in {lambda}

의견 형성 동역학 / 경제 물리학 / 전산 물리학에 대한 소소한 이야기들.

X-Men: Day of Future Past

X-Men: Days of Future Past
고문관: 어제같은 내일의 반복(되는 야근)

주의) 스포일러 투성이이지만 사람에 따라 전혀 스포일 당하지 않을 수도 있습니다.

어느새 고문관 시리즈도 7편이네요.

잘나가는 IT 기업 F가 있습니다. 소스트리의 관리는 유지보수에 역점을 주는 X파와, 리팩토링을 주장하는 M파가 아웅다웅 균형을 이루며 어느새 리비전 번호도 2030대를 찍었습니다. 그러나 언젠가 낙하산 인사로 시작된 조직이 가비지 코드들을 소스트리에 마구 집어 넣어서, 회사의 메인 소스 코드는 영 못 쓸 지경이 되고 말았습니다.

몰릴때까지 몰린 X팀과 M팀의 PM들이 모여 대책을 논의합니다. PM들은 큰 결심을 하게 됩니다. “다행히 우리 팀에 형상관리도구에 능한 팀원이 있으니, 소스를 롤백합시다.” PM들이 소스트리를 리뷰한 결과, r1973 에 blame을 당할 커미터인 @Mystique 가 있음을 발견합니다. 원래는 낙하산을 막아보고자 했던 시도로 특정 디렉토리를 날린 것으로 보이는데, 디렉토리가 날라간 상황이 오히려 해당 디렉토리에 대한 코드 리뷰어들의 관심을 끌게 된 것이었죠. PM들은 소스를 롤백하고 적당히 머지하면 지금같은 악몽의 소스트리가 되지 않을 것이라는 기대를 갖습니다. 팀장이 직접 롤백 후 작업을 하려 했지만, 작업량이 엄청나서 체력이 좋은 팀원이 그 일을 대신 맡기로 합니다. git에 능한 팀원이 r1793 정도에서 새로 브렌칭을 내고, 소스코드를 아주 사정없이 찢기로 유명한 체력이 좋은 팀원 W가 야근에 투입됩니다. 그는 과연 무사히 새 브렌치를 감독하고 커밋할 수 있을까요? 그리고 다가오는 듀에 따라 메인 소스 트리가 손쓰기가 불가능해지기 이전에 최종적으로 master 트리를 대체할 수 있게 될까요?

영화가 계속되면서, 체력이라면 누구에게도 지지 않는 팀원 @Wolverine 은 과거의 소스코드를 통해 자신이 우러러 마지 않던 PM들도 예전엔 풋풋한 프로그래머였음을 발견합니다. 또한 @Mystique 도 막장 프로그래머가 되기 이전에는 리팩토링과 유지보수 사이에서 갈등하는 커미터였음을 알게 됩니다. 스포일러를 최대한 피하기 위해 중간 과정을 생략하고 결론만 말씀드리면, 새 브렌치에서 작업을 시작한 그들은 복잡한 과정을 거쳐 기한 안에 롤백 및 기능 재구현에 성공하게 됩니다. 롤백을 마치고 야근에 지쳐 쓰러진 @Wolverine은, 박카스 약효가 떨어지고 출근한 직장에서 fetch를 통해 전송되어 온 멀쩡한 master 트리를 보게 됩니다. git log를 봐야하겠다는 @Wolverine의 말에 팀장은 웃으며 반겨주죠. "Welcome back."

X-Men: Days of Future Past 은 형상관리도구의 훌륭함에 대해 대중적으로 접근한 영화입니다. 터미네이터를 위시한 비슷한 영화들이 과거에도 있었지만, 이번 엑스맨은 팀 작업에서 형상관리도구가 얼마나 유용한지를 상징적으로 보여준다는 점에서 그 차이를 발견할 수 있습니다. 특히 초반 10여분 씬은 branching 과 rebase가 얼마나 훌륭한 기능인지를 단적으로 보여주는 장면입니다. 터미네이터 시리즈는 형상관리도구의 장점을 잘 설파하지만 동시에 subversion의 단순 롤백의 한계를 트릴로지를 통해 묘사합니다. 그러나 고문관 시리즈는 이번 영화를 통해 git이나 mercurial 등의 분산형 형상관리도구가 어째서 훌륭한지를 몇가지 명료한 예들을 통하여 보여줍니다. 기존 트리가 망가지는 동시에 @Wolverine이 롤백 작업을 하는 장면은 브렌치별 동시 작업의 예를, 최종적으로 롤백 후 코드 목표 수정이 끝난 후 한번에 머징하는 부분은 작업이 완료된 후 rebasing을 하면서, 심지어 master 트리조차 대체할 수 있는 강점을 대표하는 예입니다.

최근 형상관리도구의 도입은 IT업계 및 관련 학계에서는 필수불가결한 요소들 중 하나로 꼽히고 있습니다. 그러나 여전히 많은 곳에서는 사용성의 편리함 및 레거시 유지로 선형 형상관리도구들을 사용하고 있지요. X-Men: Days of Future Past 를 통하여 cvs나 subversion을 넘어 분산형 형상관리도구들이 어떤 점에서 더 유리한지 널리 알려지는 계기가 되었으면 합니다.

덧) 더불어 고문관 시리즈 자체도 롤백해버리는 브라이언 감독의 위엄이 대단했습니다.
Trackback URL
//reciphys.nubimaru.com/trackback/10
Trackback ATOM Feed
//reciphys.nubimaru.com/atom/trackback/10

Comments

Leave your comment