본문 바로가기

Window Programming/Program 일반

코드 관리 툴 - Subversion을 윈도우환경에서 사용하기


윈도우 환경에서 Subversion 설치

CVS와 같은 버전 관리 툴이 필요해서 이전에 잠시 사용해본 Subversion(SVN)을 설치하기로 했습니다.

설치와 관련된 파일은 아래 주소에서 다운로드 하세요.



서버로 사용할 컴퓨터에 서버 프로그램을, 클라이언트에 클라이언트 프로그램을 적당한 곳에 설치합니다.

서버 프로그램을 설치후 저장소(repository)로 사용될 폴더를 생성, 설정하기 위해 콘솔을 실행시켜 설치 디렉토리 아래 Bin 폴더로 이동후 아래와 같이 입력합니다.

svnadmin create --fs-type bdb h:svn mcp2



h:svn mcp2 라는 폴더가 생기고 서브 파일 및 폴더가 생성된 것을 볼 수 있습니다. 인증 단계를 위해서 rmcp2confsvnserve.conf 파일을 열어

[general]
anon-access = none
auth-access = write
password-db = passwd


으로 설정하여 인증받지 않은 접근을 차단합니다. 또한 사용자별 패스워드를 설정하기 위해 passwd 파일을 열어


[users]
harry = harryssecret

와 같이 ID=PW 형식으로 설정합니다.

중요한 기밀 문서(소스)를 다루고 회사 외부에서 접근을 한다면 반드시 SSH를 이용하여 암호화해야합니다.

서버 구동에는 아파치 웹서버와 연동하는 방법과 자체 서버를 구동하는 두가지 방식으로 나뉘는데 여기서는 간단하게 자체 서버를 이용하여 구동시키도록 하겠습니다. 아래 명령을 입력하여 서버를 구동합니다.

svnserver -d -r h:svn


위 과정으로 기본적인 서버 환경은 구축되었습니다.

추후 실행에 편의를 위해서는 svnserver.exe 파일에 바로가기를 생성한 후 속성에서 아래 그림과 같이 설정하면 쉽게 실행할 수 있습니다.(서비스로 등록할 수 있는 방법이 있는지는 모르겠네요)


클라이언트 프로그램을 설치하고 윈도우 탐색기를 실행하여 마우스 오른쪽 버튼을 클릭하면 SVN클라이언트 프로그램의 명령을 볼 수 있습니다.

먼 저 저장소에 VC6 프로젝트를 올려 보겠습니다. 저장소에 들어갈 파일중 각 사용자별로 로컬에서만 사용되고 임시로 수정되는 파일은 삭제해주는 것이 좋습니다. 삭제하지 않으면 업데이트할 때마다 의미없는 충돌 현상이 발생할 수 있기때문입니다. 일단, 확장자가 ncb, opt, plg 그리고 Debug, Release 폴더 아래 모든 파일은 삭제합니다(VC관련 마이크로소프트 문서). 추후 문제가 있다면 저장소에 추가/삭제후 업데이트, 커밋 하여 해결할 수 있습니다.



불필요한 파일 삭제후 소스의 최상위 폴더에서 임포트명령을 실행하여 서버의 주소, 저장소, ID/PW를 설정해주면 저장소에 저장이 됩니다.




이제 체크아웃통해 파일을 저장소에서 가져옵니다. 특정 작업 폴더에서 체크아웃을 실행하면 주소 및 패스워드 입력후 저장소에서 파일을 가져오는 것을 확인할 수 있습니다.


체 크아웃후 기본적인 사용법은 작업 시작전 업데이트해서 저장소에서 수정된 파일을 가져옵니다. 작업을 완료후 저장소에 커밋하기전에 반드시 업데이트를 수행하여 작업중 다른 사람이 수정했는지 여부를 체크하여 충돌이 발생했는지 여부를 체크합니다. 만약 다른 파일이 수정되었다면 다시 빌드를 해야 하며 같은 부분을 수정하여 충돌이 발생했다면 그 담당자와 상의, 수정후 저장소로 커밋하여야 합니다.