2007년 8월 30일 목요일

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 체크박스가
있습니다.)