OSCON 세째날 II – SubVersion에서 하지말아야 할 10가지

구글에서 SubVersion을 많이 쓰는 것을 알고 있을 겁니다. 요즘 서브버전을 사용하기 시작하는 회사들이 많고 오픈 소스 프로젝트에서도 많이 이용합니다.

구글 엔지니어인 Ben Collins-Sussman와 Brian W. Fitzpatrick 두 사람이 Subversion의 최악의 사례 10가지를 설명해 주었습니다.

10. Debate Version Control
– CVS냐 SubVersion이냐 논쟁하는 시간이 아깝습니다.
9. Do a Brute-Force Transition
– 힘들게 버전 컨트롤 시스템을 다른 것으로 바꾸는 것을 하지 마세요.
8. Backups? What Backups
백업 하지 마세요. hotcopy를 백업하세요.
7. Loads of Locales
– 다국어 지원에 힘을 들이지 마세요. 인코딩 등 다 알아서 해줍니다.
6. Rule with an IRON FIST
– 너무 엄밀한 규칙을 피하세요. 커밋 규칙이나 브랜칭, 태깅 정책 등등…

5. Hide the Version Control
– 누가 어떤 커밋을 했는지 잘 알 수 있도록 공개해야 합니다.
4. Use Complex Branching Schemes
– Trunk에서 개발 가능한 걸 복잡하게 너무 많은 브랜칭하는 규칙을 만들지 말것.
3. Put Everything in the Repository
– Tar, ISO, ZIP 파일 모두 레포지터리로? 안될 말씀.
2. Use a Network Drive
– 삼바나 공유 폴더 같은 네트웍 저장소로 사용하지 마세요.
1. Really Clever Hook Scripts!
– 스크립트로 트랜잭션이나 커밋 히스토리를 바꿀려고 하지 마세요.
0. Edit the Repository Database
– 리포지터리 DB를 건드리는 건 최악의 짓입니다.

재미있게 풀어낸 앞의 10가지 사례는 Subversion을 사용하거나 할 계획이 있으시면 꼭 명심하는 게 좋겠습니다.

여러분의 생각

  1. subversion 말고도 cvs 나 기타 등등 다른 version control 시스템에도 비슷하게 적용 될수 있겠내요.. ㅎㅎ ^^*

  2. 8번은 백업을 하지 말라는 얘기가 아니라, 서브버젼만 믿고 백업을 안하는 것을 경계하는 얘기 같아요. 영문 자료를 검색해봤지만 없어서 확인을 못했는데, 확인해주시겠어요?

  3. client 의 local 에는 리포지터리가 있는 것이 아니라 working copy가 있는 것 아닌가요 ? 완전한 repository가 아닌 working copy 만 있는 거라면 아무래도 revision history 같은 건 날라가 버릴 것 같은데… 왜 백업을 안해도 된다고 할까요 ? revision history도 상당히 중요한 정보 아닌가요 ?

  4. 한글해석을 빼고 영문만 봤을 때는 모두 하지 말아야 행동을 적어 놓았기 때문에 결국 그것을 다시 뒤집어야 하지 않을까요?
    그러니까

    “백업? 백업이 뭐지?”

    이러지 말라는 거라고 본다면 결국 백업은 필수라는 얘기가 아닐까요?

  5. @mithrandir,@김윤수, @kalms 제가 현장에서 잘 못 들었네요. 죄송합니다. tarball 같은 걸로 백업할 필요가 없다는 이야기를 그냥 확실히 이해를 못해서요.

    왜냐면 로컬 워킹 카피나 svndump 정도로 백업을 했다고 생각하면 오산이라는 이야기였습니다.

    이 발표가 작년에 있었던것 같네요. 흠…재탕인가? SVN Worst Practice 또는 SVN Best Practice

  6. 좋은 정보 감사합니다 :)

의견 쓰기

이름* 이메일* 홈페이지(선택)