서브버전으로 프로젝트를 박살 내는
10가지 방법
10. 버전 제어 시스템에 대해서 논쟁한다.
- 집중화 또는 분산화?
- 완벽한 시스템을 묘사하기 위해 체크리스트를 만든다.
- 모든 시스템을 비교한다.
- 이것을 매 3년마다 반복한다.
- 그냥 CVS를 사용한다.
- 기억하라! 버전 제어 시스템은 종교이다.
9. 물 불 가리지 말고 바꿔라
- 테스트 하지 마
- 연습하지마
- 가능한 한 빨리 서브버전으로 교체하기만 하면 된다.
- 사용자에게 불평하지 말라고 하라.
- 기존의 스크립트들이나 도구들은 버리고 새로 시작하라.
8. 백업? 뭘 백업?
- 이봐, 우린 이미 작업하기 위해서 복사본을 가지고 있다고…
- 또는 좀 더 재미있게 : hotcopy 대신에 ‘svnadmin dump’를 사용해서 매일 밤 백업한다.
7. 현지화의 제왕
- 다른 사람에겐 말하지 말고 재미있게 인코딩된 파일이름(CJK)들을 커밋하라.
- 기쁨의 연속!
6. 철권 통치
- 모든 곳에 경로 기반의 접근 제어를 사용하라.
- 모든 사용자들은 악의 자식이다.
- 사회적 문제는 차치하고, 바리케이트를 쳐라.
- 전부 lock 걸어라
- 동시에 편집하는 것은 아주 위험하다!
- 귀찮은 충돌은 무시한다.
- 귀찮은 커뮤니케이션은 무시한다.
- 휴가 갈때는 반드시 lock을 걸고 간다.
- sysadmin도 데리고 가라.
5. 버전 제어를 감춰라.
- 사용자들은 너무 무식하고 두려워 한다.
- 가르치는 데 시간을 허비하지 마라.
- 무슨일이 일어날지 짐작해서 교본을 만들어라.
4. 복잡한 branch 구조를 사용하라.
- 무슨 수를 써서라도 코드를 거룩하게 보호하라.
- /trunk 는 성스러운 것이다.
- 모든 개발자에게 자신의 branch를 부여하라.
- 모든 변화는 하위 branch 에서!
- 하루종일 branch를 병합할 사람만 따로 고용하라.
- 혼란스럽다고? Clearcase 설명서를 참고하라.
- 팁 : 클라이언트에 모든 branch를 만들어라. 그게 안전하다.
3. 저장소에 전부 다 집어넣어라.
- 파일서버일 뿐이다. 그렇지 않은가?
- 집어넣기에 좋은 것들 :
- 오브젝트 코드
- 사용자별 환경설정 파일
- 생성된 문서
- ISO 이미지
- 압축된 릴리즈
2. 네트웍 드라이브를 사용하라.
- 설정하기 위해서 실서버에서 작업하는 건 너무 어렵다.
- chmod -R 777 /path/to/repository
- 모두 file:/// 를 사용하라.
- 잘못될 것이 있는가?
1. 아주 영리한 후킹 스크립트들
- 커밋전
- 주석을 추가하고, 코드를 재포맷한다.
- 코드를 체크아웃하고, 모두 빌드한 다음, 테스트들을 수행하고, 그다음에 커밋을 허용한다.
- 커밋후
- 다른 커밋을 수행한다.
- 저장소를 덤프한다.
0. 저장소 데이터베이스를 편집하라.
- 어떻게 된건지 모르겠어? 저장소를 에디터로 열어보자.
원문 : http://www.red-bean.com/fitz/presentations/2007-07-27-OSCON-svn-worst-practices.pdf




