2015-01-09 50 views

답변

2

이 작업을 수행 할 수있는 도구가 없습니다. Timely Migration에 돈을 지불하거나 직접 쓰십시오. StarTeam에서 기록을 캡처하는 것은 매우 복잡합니다. 그 이유는 역사적으로보기가 어떻게 보이기 때문입니다. 특정 시점으로보기를 롤백 할 수 있으며이 방법만으로도 잘 작동하지만보기가 변경된 모든 시점으로 롤백 할 수 있으므로 API를 사용하는 것이 사실상 불가능합니다. 이것은 1) 모든 것이 감사 기록을 가지고 있지 않아 감사를 사용할 수 없으며 2) 감사 레코드가 제거되기 때문입니다. 3)보기의 기록을 "재생하여 재생"하는 특수 기능이 있습니다. 리스너 이벤트 (MPX 필요), 그러나 이것은 많은 이벤트를 놓칠 것입니다. 4) 항목이 공유, 구성, 분기 등일 때, 프로젝트에서 감사를 생성하지 않습니다. 5) 차이점을 분석하여 변경 사항을 모두 얻으려면보기 기록을 두 번째로 반복합니다. 즉, 프로젝트가 한 달 동안 활성화되어 있고 두 뷰 구성을 비교하여 5 초가 걸린다면 실제로 프로젝트를 마이그레이션하는 데 5 개월이 걸리며 그 동안 잠겨 있습니다.

이렇게하려면 다음 단계는 비교할 "기준선"을 설정하는 것입니다. 프로젝트에 야간 또는 연속 빌드가 있거나 품질 보증 인증을받은 빌드가있는 경우 빌드 레이블을 사용하는 것이 좋습니다. 이렇게하면 이러한 기준선을 비교/비교를위한 포인트로 사용할 수 있으며 그런 다음 기록을 가져올 수 있습니다. 이것이 전체 역사만큼 세부적인 것은 아니지만, 정의에 따라 마이그레이션하는 것이 가장 중요한 차이점을 얻는 것입니다.

그러나이 방법을 사용해도 여러 분기 /보기에서 분기/병합 지점 간의 연결이 유지되지 않습니다. 이를 수행하는 유일한 방법은이 정보를 얻기 위해 StarTeam 데이터베이스에 직접 들어가는 것입니다.

필자는 StarTeam에서 Subversion으로 마이그레이션 할 수있는 도구 모음을 직접 작성하려고이 모든 단계를 수행했습니다. 그것은 재미 있고 흥미롭고 불완전했지만 약속이 있었지만 궁극적으로는 끝내지 못했습니다. 그 이유 중 일부는 내가 참여한 시간보다 훨씬 많은 시간이 걸렸을 것이기 때문입니다.

필연적으로 가장 중요한 질문 : 전체 역사를 유지하는 데 필요한 비즈니스 가치는 무엇입니까? StarTeam 관리자로 프로젝트 팀과 함께 여러 번 진행 한 후 90 %가 넘는 시간 동안 더 나은 접근 방식은 컷오프라는 것이 분명했습니다. 새로운 시스템에서 새로운 작업을 시작하고 이전 시스템에서 작업을 멈출 수있는 시간을 만드십시오. 일반적으로 프로젝트 팀에게는 아주 짧은 시간 안에 완료 할 수 있습니다. 프로덕션 릴리스의 기록을 가져 와서 새로운 시스템에서 대략적인 타임 라인을 작성하는 것으로 시작할 수도 있습니다. TFS 또는 BeyondCompare 또는 다른 곳의 기존 비교 도구를 사용하여 프로젝트 소스 코드, 문서 등의 각 상태를 재현하고 필요에 따라 파일을 체크인 또는 삭제하고 TFS 프로젝트에 라벨을 지정하여 TFS 프로젝트와 조정하십시오. 당신이 가져 오는 각각의 건축물. 모든 TFS 빌드, 작업 항목, 사용자, 역할 등을 나열하고 모든 것이 준비되었는지 확인하십시오. 그런 다음 컷 오버시 StarTeam의 최신 개발 스냅 샷을 가져 와서 TFS 프로젝트를 한 번 더 업데이트하십시오. Starteam 사용자를 프로젝트에서 잠그고 (체크인 용) TFS에서 작업을 시작하십시오. TFS 프로젝트는 가장 중요한베이스 라인의 거친 역사를 가지며 더 많은 기록이 필요할 경우 StarTeam 리포지토리를 사용자에게 공개 할 수 있습니다.

고려해야 할 또 하나의 사항은 프로젝트의 영구 보관 파일을 만드는 방법입니다. 저장소가 작 으면 작업이 가능하지만 프로젝트가 더 커지면 시간이 많이 걸립니다. 먼저 전체 데이터베이스와 볼트를 별도의 인스턴스로 복사하고 해당 복사본을 가동시켜 실행하십시오.그런 다음 보관할 프로젝트를 제외한 다른 모든 프로젝트를 삭제하십시오. 온라인 제거를 실행하고 완료 할 때까지 실행하십시오. 서버를 다시 시작하고 여러 번 제거해야합니다. 작업이 완료되면 전체 저장소에는 프로젝트에 필요한 파일과 데이터베이스 레코드 만 들어 있어야합니다. 이 시점에서 데이터베이스와 볼트를 백업하고 무기한 보관할 수 있습니다. 이렇게하면 기존 StarTeam 리포지토리의 크기가 줄어 듭니다.

StarTeam을 3 년 이상 사용하지 않았지만 재미있는 시간이었습니다. 희망 당신은 그것이 유용하다고 생각합니다.