사용자 삽입 이미지
Version Control System을 이용하여 개발하다보면 project build, deploy에 필요한 library조차도 CVS등에 저장하는 경우가 많은 데 이는 그리 권장하는 방법이 아닙니다. 이유는 다음의 정도가 되겠지요.

1. 디스크를 효율적으로 사용할 수 있습니다. 보통 프로젝트를 진행할 경우 하루 작업 동안 변경된 파일이 많이 있을 수 있습니다. 개발자 분들의 나쁜 습관이 폴더를 통째로 commit할 수 있다는 것을 알고 해당 작업을 했을 경우 jar파일의 last modified가 변경되어 있다면 이를 modify된 것으로 간주하여 commit할 때 server의 version을 update 시켜버립니다. 즉 물리적인 저장공간이 점점 더 비대해 지는 결과를 초래할 수 있습니다.

2. Project를 checkout할 때 보다 빠르게 내려받을 수 있습니다. Library가 많고 그 용량이 클 경우 network의 속도에 따라서 상당한 시간이 소요될 수 있습니다.

3. OpenSource jar파일은 versioning이 필요하지 않습니다. 일반적으로 여러분들이 사용하는 apache 등의 오픈소스에는 jar파일 이름에 version이 명시되어 있습니다. 굳이 CVS등에서 따로 versioning을 할 필요가 없습니다.



Maven의 Remote Repository 등을 구성하여 project build시 'prepare' 등의 task에 dependency를 이용하는 방법이 훨씬 더 효과적일 수 있습니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/04/02 14:41 2008/04/02 14:41