1. 형상관리
개발
환경 5
1.1. 기본
환경 5
1.2. Subversion Plug-in설치 5
1.3. Subversion Repository 등록 9
1.4. Project Check Out 12
1.5. Tortoise 를
이용한
형상관리 14
2. MiPlatform 개발
절차 18
2.1. MiPlatform으로
프로젝트
열기 18
2.2. MiPlatform 변경사항
형상관리에
적용하기 21
3. 배치
개발
절차 27
3.1. 개발서버에서
체크아웃
받기 27
3.2. 파일
추가/삭제
및
커밋 28
3.3. 파일
업데이트 30
3.4. ProC 데모
애플리케이션 31
4. FAQ 33
4.1. 내가
수정한
파일을
다른
사람이
이미
올려서 commit 이
실패한
경우
어떻게
하나요? 33
4.2. 이
파일은
나만
변경하고
싶습니다. 37
형상관리 개발 환경
기본 환경
- JDK 1.5
- Eclipse 3.2 WTP 버전또는 ProBuilder 4.x
또는 TortoiseSVN (TortoiseSVN 사용시 1.5장
참조)
- MiPlatform PID V3.2.0 Unicode
(이
문서는
위
소프트웨어가
설치된
것을
기본으로
설명하고
있습니다.)
Subversion Plug-in설치
Step1:
ProBuilder(또는 Eclipse) 도움말 menu 에서 Installation을
시작한다.
Step2:
'설치할
새
기능에
대해
검색'을
선택하고
다음을
Step3:
'새
원격
사이트' 버튼을
누른다.
Step4:
아래와
같이
입력하고 '확인'버튼을
누른다.
이름: Subclipse 1.2.x (Eclipse 3.2+)
URL: http://subclipse.tigris.org/update_1.2.x
Step5:
새로
입력한
사이트가
선택되어
있는
것을
확인하고 '완료'버튼을
누른다.
Step6:
아래와
같이 Subclipse 를
선택하고'다음' 버튼을
누른다.
Step7:
라이선스
확인
후
설치를
진행한다. 설치가
완료된
후 Eclipse 를
다시
시작하게
된다.
Subversion Repository 등록
Step1:
오른쪽
상단의 '+' 표시가
있는 Perspective 추가
버튼을
누른
후 '기타'를
선택한다.
Step2:
Perspective 열기
에서 'SVN Repository Exploring'을
선택한다.
Step3:
SVN Repository View 에서
오른쪽
버튼을
누르고 'New'->'Repository Location'을
선택한다.
Step4:
'Add SVN Repository'창에서 Url에 svn://203.236.20.26/egis 를
입력하고 '완료'를
누른다.
Step5:
부여받은
형상관리
계정과
비밀번호를
입력하고 '확인'을
누르면 repository 가
생성된다.
Step6:
등록된 repository 는
아래와
같이
확인이
가능하다.
Project Check Out
Step1:
아래와
같이
원하는
프로젝트를
체크아웃
받는다.
Step2:
아래와
같이
창이
뜨면
원하는
대로
편집하여 checkout 받을
수
있다. 일반적으로는
그냥 '완료'버튼을
누른다.
tep3:
'완료'버튼을
누르고
나면 checkout 이
진행이
된다. Checkout 이
완료된
후에는 Java Perspective 또는 Proframe Perspective의 Package View 에서
다음과
같이 checkout 받은 project를
확인할
수
있다.
Tortoise 를 이용한 형상관리
Step1:
아래
사이트에서 TortoiseSVN 을
다운
받아
설치합니다. 설치후
재부팅을
하게
됩니다.
필요에
따라
언어팩을
설치할
수
있습니다.
tep2:
탐색기에서 checkout 받을
폴더를
만들고
오른쪽
버튼을
눌러 'SVN Checkout' 을
선택한다.
Step3:
'URL of repository' 에 'svn://203.236.20.26/egis'을
입력하고
오른쪽
버튼을
누릅니다.
tep4:
아래와
같이
계정과
비밀번호를
입력하고 'OK'버튼을
누른다.
Step5:
원하는
디랙토리를
선택하고 'OK' 버튼을
누른다.
Step6:
'OK'버튼을
누른다.
Step7:
아래와
같이
해당
디렉토리의
리소스가
내
탐색기로
다운받아지고
탐색기창에
표시가
나타납니다.
( : local 데이터가
형상관리 repository 데이터와
일치함을
의미)
로컬에서
파일을
수정한
경우
아래와
같이
표시가
나타납니다.
MiPlatform 개발 절차
형상관리
환경하에서의
개발을
위해 MiPlatform 개발시에도 Eclipse 를
활용한다.
MiPlatform으로 프로젝트 열기
Step1:
MiPlatform을
실행하고 'Tools'->'Project Manager'를
선택한다.
Step2:
'Project Manager'에서 'Add Exist'버튼을
클릭한다.
Step3:
Eclipse(또는 TortoiseSVN)에서 checkout 받은
프로젝트안의 'WebContent' 폴더를
선택한다.
Step4:
'SKT_EGIS_ci_main_Win32.xml'을
선택하고 '열기'버튼을
누른다.
Step5:
'OK'버튼을
누른다.
Step6:
'Open Project' 버튼을
누른다.
Step7:
'SKT_EGIS' 프로젝트를
선택하고 'OK' 버튼을
누른다.
MiPlatform 변경사항 형상관리에 적용하기
Step1:
수정한
파일을
저장한다.
Step2: (ToroiseSVN 을
사용하는
경우 Step10부터
보세요.)
Eclipse 를
열고
프로젝트를
선택한호 'F5' 또는
오른쪽
버튼을
누르고 '새로
고치기'를
선택한다.
Step5:
변경된
부분이
있다면
아래와
같이 '*' 표시가
붙게
된다.
Step6:
변경된
파일
또는
폴더를
선택하고
오른쪽
버튼을
누르고 '팀'->'Commit'을
선택한다.
Step7:
아래와
같이 comment 를
입력하거나
선택하고
변경
적용될 resource 를
확인하고 '확인' 버튼을
누른다.
Step8:
탐색기
상에 '*' 가
없어졌다면
정상적으로
적용이
된
것이다.
Step9:
'팀'->'Show History' 를
선택하면
변경
이력을
확인해
볼
수도
있으며
각
버전간
비교도
해볼
수
있다.
tep10:
Tortoise 를
사용할
경우
아래와
같이
변경된
파일과
그
상위
폴더에
표시가
나타납니다.
Step11:
변경된
파일
또는
폴더를
선택하고
오른쪽
버튼을
누르고 SVN Commit 을
선택합니다.
Step11:
아래와
같이
원하는
메시지를
작성하고 'OK' 버튼을
누른다.
Step12:
정상적으로
처리됐다면
아래와
같이
메시지가
나타난다.
배치 개발 절차
개발서버에서 체크아웃 받기
Step1:
Telnet을
통해
개발자
계정(bsdev1, ccdev1…) 으로
로그인
한다.
Step2:
만일
자신의
계정이 bsdev1 이라면
아래와
같이
입력한다.
Unix 계정
암호는
그냥
엔터를
치고
넘어가면
형상관리
계정과
암호를
넣도록
나타난다. 각각
입력하고
엔터를
치면 bsdev1 이라는
디렉토리에
해당
업무의 batch 프로젝트가
체크아웃된다.
파일 추가/삭제 및 커밋
Step1:
만일 src_bat 디렉토리에 test.c 라는
파일이
추가하였다면
이
파일을
형상관리
대상에
추가하여야
한다. 형상관리
대상
추가는
아래와
같이
할
수
있다. 한번
추가된
대상은
이 step 은
생략하면
된다.
Step2:
대상으로
추가한
후에는
해당
파일을
형상관리 repository에
커밋을
해야
반영이
되게
된다.
위와
같이
엔터를
치면 vi 가
자동으로
실행되고 vi 를
통해 comment 를
입력할
수
있다. vi 를
종료(':' 를
누른
후 'qw'를
입력하고
엔터. 만일 comment 를
남기지
않으려면
그냥
곧바로 ':'를
누르고 'q'를
입력)
Step3:
vi 가
종료되면
형상관리
인증절차가
나타납니다. 마찬가지로
형상관리
계정과
암호를
넣으면
정상적으로
커밋이
됩니다. post-commit 오류는
무시하시면
됩니다.
Step4:
파일을
삭제하고자
할
경우
아래와
같이
입력하여
삭제
대상
처리를
한다.
Step5:
삭제대상으로
추가한
후에는
해당
파일을
형상관리 repository에
커밋을
해야
반영이
되게
된다.
위와
같이
엔터를
치면 vi 가
자동으로
실행되고 vi 를
통해 comment 를
입력할
수
있다. vi 를
종료(':' 를
누른
후 'qw'를
입력하고
엔터. 만일 comment 를
남기지
않으려면
그냥
곧바로 ':'를
누르고 'q'를
입력)
Step6:
vi 가
종료되면
형상관리
인증절차가
나타납니다. 마찬가지로
형상관리
계정과
암호를
넣으면
정상적으로
커밋이
됩니다. post-commit 오류는
무시하시면
됩니다.
파일 업데이트
다른
사람들에
의해
업데이트
된
파일은
아래와
같이
업데이트
받을
수
있다.
ProC 데모 애플리케이션
현재 repository 에는 ProC 에
대한
데모
애플리케이션이
올라가
있습니다. 데모
애플리케이션은
아래와
같이
체크아웃
받아
테스트
해보실
수
있습니다.
Step1:
아래와
같이 Subversion 명령을
통해
체크아웃을
받습니다.
Step2:
아래와
같이 make 를
실행하여
소스를 compile 합니다.
Step3:
아래와
같이
실행파일을
실행해
볼
수
있습니다.
FAQ
내가 수정한 파일을 다른 사람이 이미 올려서 commit 이 실패한 경우 어떻게 하나요?
이와
같은
경우
아래와
같은
오류
메시지가
발생합니다.
이와
같은
경우 history 를
확인해
보면
아래와
같이
내가 checkout 받은
리비전은 154 인데
누군가 commit 을
해서 165 로
리비전이
올라가
있는
것을
볼
수
있습니다.
우선 CVS 나 Subversion 은
내
로컬 PC의
리비전이
최신
버전이
아니면
기본적으로 commit 이
안됩니다. 따라서
이
경우
내
로컬 PC 의
자원의
리비전을
최신으로
올려주어야
합니다.
이
때
해당 resource 를 update 를
받게
되면
두가지로
현상이
나타
날
수
있습니다.
먼저
내가
수정한
부분과 repository 에
수정한
부분이
충돌(conflict)이
없는
경우
로컬에서
수정한
부분과 repository 의
최신
버전이
자동으로
머지가
됩니다.
만일
내가
수정한
부분과 repository에
수정된
부분이 conflict 이
발생하는
경우 (같은
라인을
수정했다든지..) update 를
받으면
아래와
같이
여러
개의
파일이
생기게
됩니다. (.mine 은
내
로컬파일, r168, 169 는
각각
해당
리비전의
파일입니다.)
따라서
이경우
충돌
난
부분을
확인을
하고
수정하여
합쳐주는
작업을
해야
합니다.
만일
내
로컬에
있는
파일로
무조건
덮어
쓰려면
아래와
같이
로컬히스토리
이전
버전으로
바꾼
후에 commit 하면
됩니다.
만일
로컬과
원격 repository 의
자원의
머지가
필요하다면
아래와
같이 Synchronize 기능을
사용하면
편리합니다.
Synchronize 를
수행한
후에는
아래와
같이
나타납니다. 빨간색으로
양쪽
화살표가
있다면 conflict 이
발생한
것입니다. 아래와
같이 conflict 이
발생한
소스에
대해서
양쪽
버전을
비교해
불
수
있습니다.
오른쪽
위의
버튼을
이용하여
차례차례
차이가
나는
것을
비교해
볼
수
있고
원격지의
변경사항을
로컬
파일에
적용시킬
수
있습니다.
이와
같이
수정한
후에
파일을
저장합니다. 저장한
후에
해당
파일을 Repository 의
최신
파일로
바꿔
버립니다.
이렇게
하면
내
로컬PC의
자원은
최신
리비전으로
업데이트
됩니다. 이후에
다시
로컬
히스토리
이전버전으로
바꾸게
되면
리비전은
최신인
상태에서 Synchronize 에서
작업했던
파일
내용으로
바뀌기
때문에 commit 이
가능하게
됩니다.
이 파일은 나만 변경하고 싶을 때는 어떻게 하나요?
Subversion 에서는 lock 기능을
제공합니다. 아래와
같이
로컬리소스에 Lock 을
설정하면
다른
Lock 이
정상적으로
설정되면
아래와
같은
표시가
나타납니다. (다른
사람이
이미 Lock 을
한경우에는
이
표시가
나타나지
않습니다.)
주의할
점은 Subversion 에서 Lock 은
절대적이지
않습니다. 단순한
안전장치라고
보시면
되고요
얼마든지
다른사람이
설정한 Lock 을
가져갈
수
있습니다. (Lock 적용시 Steal Lock 체크박스가
있습니다.)