요즘은
SVN : http://ko.wikipedia.org/wiki/%EC%84%9C%EB%B8%8C%EB%B2%84%EC%A0%84
GIT : http://ko.wikipedia.org/wiki/Git_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)
을 주로 사용한다
두 개 다 써 보았고 SVN이 좀 더 사용하기 쉽기는 하지만 GIT도 조금 노력하면 SVN에는 없는 유용한 기능을 사용할 수 있다. 대세는 git다. 각 소스괸리프로그램의 유용한 툴 프로그램은 뒤에 다시 소개하기로 하자. 여기서는 폴더 구조에 대해서만 얘기하겠다.
아래는 윈도우 데스크탑 어플리케이션 개발 프로젝트에서 주로 썼던 구조이다.
SVN
|_ branches
|_ tags
|_ trunk
.. autobuild.cmd
|_ deploy
|_ build
|_ NSIS_Unicode
.. buiid.cmd
.. incre_build.cmd
.. pack_pdb.cmd
.. codesign.cmd
|_ doc
|_ src
.. myProject.sln
.. myProject.vsprop
|_ debug
|_ release
|_ lib
|_ Debug
|_ Release
|_ base
|_ myProject
|_ third_party
.. third_party.sln
|_ WTL81
|_ cximage
|_ rapidxml
|_ rapidjson
|_ openssl
|_ curl
|_ sqlite
|_ cryptopp
|_ gtest
|_ boost
|_ cpp-netlib
- trunk에서 autobuild.cmd라는 자동 빌드 배치파일 있는데 이걸 실행하면 deploy에서 리얼환경에 배포가능한 모든 설치파일, 실행화일, 버전파일, 데이타 파일이 생성되도록 한다.
- thrid_party의 라이브러리는 모두 빌드해서 lib폴더에 커밋해둔다. 이 폴더의 소스는 개발시에는 컴파일되지 않는다.
네이버 개발자 센터에 sdp 정리를 위한 테스트 프로젝트를 생성했다.
http://dev.naver.com/scm/viewvc.php/trunk/?root=sdp