2011년 12월 18일 일요일

RTC scm 커맨드 사용법

저장소 연결 & 로그인
scm login -n ccmhost -r https://ccmhost.mycompany.com:9443/ccm -u jazzy

참고: 로그아웃
scm logout -r ccmhost

참고: 프로젝트 영역 목록 보기
scm list projectareas -r ccmhost

참고: 팀 영역 목록 보기
scm list teamareas -r ccmhost






참고: 스트림 목록 보기 (소유자 : 팀영역)
scm list streams -r ccmhost


콤포넌트 만들기(팀 스트림은 미리 GUI를 통해 생성해 둔다)
scm create component "Squawk"(콤포넌트) "Squawk CMD"(스트림) -r ccmhost

개인 리파지토리 작업공간 만들기
scm create workspace "jazzy on Squawk CMD"(개인 리파지토리 작업공간) -s "Squawk CMD"(팀 스트림) -r ccmhost

PC 개인 작업 공간으로 서버상의 개인 리파지토리내 파일 다운로드
(.metadata 디렉토리 생성됨)
scm load -d c:\workspace\CMD -r ccmhost "jazzy on Squawk CMD"(갠 리파지토리 작업 공간) "Squawk"(콤포넌트)

PC 개인 작업 중인 파일을 서버상의 개인 리파지토리에 업로드하여 공유
scm share -r ccmhost "jazzy on Squawk CMD"(개인 리파지토리 작업 공간) "Squawk"(콤포넌트) Squawk(콤포넌트 대응 루트폴더명)

팀 스트림으로 개인 리파지토리내 공유용 변경 세트 전달하여 팀에 공유
scm deliver -r ccmhost -s "jazzy on Squawk CMD"(From 개인 리파지토리 작업 공간)

User B : GUI를 통해 Repository Workspace를 만들고 Load into SandBox
Dog.cpp 파일 수정 후 개인 리파지토리 작업공간들 변경 상태 파악 (Pending Changes)
scm status

참고: 비교
scm diff -r ccmhost file Squawk/CoreSquawk/Dog.cpp baseline 1003(최초 생성된 베이스라인 식별번호)


개인 리파지토리 작업공간으로 변경내용 체크인 및 변경세트 작성
scm
checkin Squawk(루트 폴더내 변경 사항)

변경세트 주석 붙이기
scm
changeset comment 1004(변경세트 식별번호) "Dog translation 01"

팀 스트림으로 변경 세트 전달하여 공유
scm
deliver -r ccmhost -s "jazzy on Squawk CMD"(From 개인 리파지토리 작업공간)
----------------------------------------------------------------------------
다른 사용자가 같은 파일을 수정하고 먼저 팀스트림으로 전달한 경우



User B : Pending Changes GUI를 사용하여 scm 작업
User B : GUI Pending Changes를 통해 Accept
User B : 파일 수정 후 GUI Pending Changes를 통해 SandBox 새로 고치기
User B : GUI Pending Changes를 통해 Checkin & Comment "Dog translation 02" & Deliver

파일을 수정하고 개인 리파지토리 작업공간에 체크인 및 변경세트 작성
scm
checkin Squawk(루트 폴더 이름)

변경세트에 주석 붙이기
scm changeset comment 1006(변경세스 식별 번호) "Dog translation 03"

파일 수정 후 개인 리파지토리 작업공간들 변경 상태 파악 (Pending Changes)
scm status

User B의 변경세트를 리파지토리 작업공간으로 허용
scm
accept -r ccmhost

허용 후 리파지토리 작업공간내 충돌 확인
scm conflicts -r ccmhost

충돌 해결 (예로만 참고, 실제는 두 파일 비교 병합 작업을 수행후 해결 필요)
scm resolve -r ccmhost --proposed Squawk/CoreSquawk/Dog.cpp (충돌이 난 파일이름)

충돌 해결 후 변경세트를 팀스트림으로 전달
scm deliver -r ccmhost -s "jazzy on Squawk CMD"(From 개인 리파지토리 작업공간)

콤포넌트 베이스라인를 개인 리파지토리 작업공간에서 만들고 팀스트림으로 전달
scm create baseline -r ccmhost "jazzy on Squawk CMD"(개인 리파지토리 작업공간) "Dog translated"(베이스라인명) "Squawk"(콤포넌트명)
scm deliver -r ccmhost -s "jazzy on Squawk CMD"(From 개인 리파지토리 작업공간)

----------------------------------------------------------------------------
내가 같은 파일을 수정하고 먼저 팀스트림으로 전달한 경우

내가 먼저 Cat 수정, 체크인 및 전달
scm checkin Squawk
scm changeset comment 1007 "Cat translation 01"
scm deliver -r ccmhost -s "jazzy on Squawk CMD"

User B : Cat 수정 및 체크인(Pending Changes GUI)
User B : 수정후 Pending Changes의 SandBox refresh
User B : Checkin "Cat translation 02"

User B : Cat 수정 내용 허용 및 충돌 해결 (Pending Changes GUI)
User B : Accept Incoming ChangeSet
User B : 충돌편집기 열기 및 수정 그리고 resoved as merged
User B : Deliver ChangeSet "Cat translation 02"

댓글 없음:

댓글 쓰기