1. SVN 서버 준비
https://subversion.apache.org/packages.html
수많은 SVN 서버가 있지만, 저는 CollabNet SubVersion Edge ( with Oracle Linux ) 를 사용하였습니다.
저처럼 초보인 경우 Command Line 방식 보단 GUI 방식의 서버를 추천 합니다.
저와 같은 CollabNet SubVersion Edge( + RHEL, CentOS, OralceLinux 등)를 설치하다면,
설치 방법은 아래 그림처럼, [ Readme ] 에 자세히 기술되어 있는데,
python27 설치, jre, jdk 설치, JAVA_HOME을 설정, 방화벽 포트 설정 정도만 주의하면 될것 같습니다.
SVN 서버 설치가 완료/실행 되었으면,
SVN 관리자 페이지에 접속합니다.(ex. http://aaa.bbb.ccc.ddd:3343/csvn )
레포지토리(repository, 저장소) 와 사용자를 추가합니다.
저는 [ svn_work ] 라는 레포지토리를 생성했습니다. 보통 파워빌더의 workspace 기준으로 합니다.
2. SVN Clinet, TortoiseSVN 설치
TortoiseSVN 설치 옵션 중에 command 명령어를 사용하게 해주는 옵션을 꼭 함께 설치 해줘야 합니다.
한국어 언어팩도 있으니 필요하신분은 함께 설치합니다.
설치 후 컴퓨터를 다시시작 해주세요.
3. pbscc-proxy 설치
파워빌더가 설치되어 있지 않다면, 파워빌더 부터 설치해주세요.
설치 후 컴퓨터를 다시시작 해주세요.
4. 파워빌더 환경 설정
아래는 SVN 설명을 위해 Sample 로 간단히 만들어본 프로그램 예제 입니다.
path, target, pbl, object 등을 참고해주세요.
이런 구조의 Target (프로그램) 이라고 가정해 보겠습니다.
workspace 에 두개의 target 이 있고, common 이라는 공용 pbl이 들어있는 폴더가 있습니다.
Type | PATH |
Workspace | D:\src\pb |
Target | ① D:\src\pb\target_01 |
② D:\src\pb\target_01 | |
Common | D:\src\pb\common |
SVN proxy 에서 사용할 폴더를 만들고, [SVN 체크 아웃] 메뉴로 저장소 연결을 해줍니다.
SVN proxy 경로 : D:\pbscc\svn_work
[확인] 을 누르면, 위의 SVN 서버 설정시 추가한 사용자 ID/PW를 입력합니다.
연결 완료
이제 파워빌더의 버전관리 설정을 합니다. Workspace 를 선택하고 마우스 오른쪽 버튼을 눌러줍니다.
[Source Control] 탭을 선택하고 버전관리 설정을 해주세요.
버전관리에 성공적으로 연결이 되었습니다. object 이름 왼쪽에 초록색 + 모양이 모두 나타났습니다.
Workspace 가 버전 관리에 연결은 되었지만, 추가를 해야 본격적으로 버전관리를 사용할수 있습니다.
이제 target_01 을 버전관리에 추가합니다.
먼저 첫번째 target_01 에 마우스 오른쪽 버튼을 누르고 [Add to Source Control...] 을 선택해 줍니다.
target_01 이 정상적으로 버전관리에 추가되었습니다.
object 왼쪽의 초록색 동그라미 ● 아이콘은 버전관리가 시작된 object 라는걸 의미합니다. target_02 왼쪽의 + 아이콘은 버전관리에 등록되지 않은 상태를 의미합니다. 공용으로 사용하는 common 폴더의 common.pbl 은 target_01 과 target_02 모두에 등록되어 있고, 버전관리에 추가 되었습니다.
SVN proxy 폴더 ( D:\pbscc\svn_work ) 를 보면 위와 같은 모양으로 보입니다. 아직 target_02 는 추가 하지 않았습니다.
이번엔 target_02 를 버전관리에 추가합니다. 방법은 target_01을 추가할때와 동일합니다.
두번째 target_02 에 마우스 오른쪽 버튼을 누르고 [Add to Source Control...] 을 선택해 줍니다.
이제 target_02 까지 모두 버전관리 가 시작되었습니다.
SVN proxy 폴더 ( D:\pbscc\svn_work ) 를 보면 위와 같은 모양으로 보입니다. target_02 까지 모두 추가되었습니다.