문제

나는 새로운 프로그램을 위해 SCM을 설립하도록 돕고 있으며 현재 VC를 결정하는 과정에 있습니다.

이 시점의 주요 경쟁자는 SVN, Clearcase, SVN+DVC 및 DVC입니다.

현재 팀은 SVN 또는 SVN+DVC에 기대고 있습니다. 우리는 Clearcase의 비용과 관리 비용을 피하고 싶지만 제공하는 워크 플로 및 버전 관리 옵션을 원합니다. DVC를 사용할 수있는 옵션도 가져 왔으며 아이디어가 고려되고 있습니다.

DVC의 경우, 우리는 Mercurial, Bazaar 및 Git을 고려하고 있습니다. 이 팀은 SVN에 익숙해 지지만 필요한 다재다능 함을 제공 할 것이라고 생각하지 않기 때문에 SVN 옵션 위에서 DVC를보고 있습니다.

그러한 설정을 얻기위한 조언 (예 : 기존 도구, 프로세스)이 있습니까?

문제는 다음과 같습니다.

  • 설정의 용이성
  • 워크 플로 설정 (<-> 코드 리뷰 개발 -> 테스트 -> 트렁크, 트렁크 -> 통합 테스트 브랜치 -> 버그 수정이 릴리스 브랜치에 넣음), 감사 (버그를 찾은시기)
  • 메트릭 생성
  • 케이스를 클리어링하는 데 사용되는 개발자를위한 합리적인 학습 곡선.
  • Windows 개발
  • 트래커 통합 이슈 (아마도 스톤으로 설정되지는 않지만 레드 마인이 될 것입니다)
도움이 되었습니까?

해결책

Clearcase의 관리자로서 복잡한 병합 워크 플로가 없으면 해당 도구를 배제합니다.

그만큼 워크 플로 당신은 언급하여 SVN에 유리하지 않아야하는 분기, 수정, 쉽게 다시 합병 할 수 있다고 언급합니다.

케이스를 클리어 케이스 (Espacially nonucm clearcase)에 사용될 때 가장 큰 함정은 구성 사양의 "구성"입니다.
DVC (Mercurial, Bazaar 또는 Git 이후 Windows에서 정말 잘 작동합니다), 당신은 할 것입니다 ~ 아니다 동일한 "상속 효과"를 얻을 수 있어야합니다. (다른 연속 선택 규칙으로 다른 버전을 선택할 때 -: 그 대답에서 말했듯이 :

순전히 중앙 VC에서는 원하는 규칙으로 작업 공간 (Clearcase, Snapshot 또는 Dynamic)을 정의 할 수 있습니다.
DVC에서는 실용적이지 않을 것입니다 ( "Distributed"에서와 같이) : 지점을 만들 때 시작점과 다른 저장소에 명확하게 정의되고 쉽게 복제 된 내용을 사용해야합니다.

Clearcase UCM을 사용하는 경우 일관된 파일 세트를 식별하는 것을 의미합니다. git 서브 모듈.
DVC는 복잡성이 높아집니다. 이들은 UCM이 수행하는 방식으로 모듈 (또는 "파일 세트") 간의 종속성을 기록하지 않기 때문에 복잡성이 높습니다.

따라서 요약하려면 :

  • 쉽게 설정 : 언급 된 모든 DVC는 쉽게 설정할 수 있습니다. 고려해야 할 것은 사용자 액세스 측면에서 관리입니다.
  • 워크 플로 설정 : DVC는 모든 종류의 워크 플로, 심지어 중앙 집중화 된 워크 플로 또는 공공-민간 또는 .... 버그를 찾는 것과 관련하여 모든 종류의 워크 플로를 지원합니다. 이등분 과정.
  • 메트릭 생성 : "관리 된 코드에 대한 메트릭"을 의미한다면, 모두 변경된 내용에 대한 많은 정보를 표시 할 수있는 완전한 로그 시스템을 지원합니다.
    그러나 "도구에 대한 메트릭"(데이터에 대한 프로세스 속도 또는 공간)의 관점에서 언급 된 DVCS 도구는 SVN보다 훨씬 빠르게 간주됩니다 (참조 예를 들어).
  • Clearcase에 사용되는 개발자를위한 합리적인 학습 곡선 : GUI는 학습 곡선을 완화하는 요소가 될 수 있지만 DVC는 Clearcase와는 매우 다릅니다. "핵심 개념"답은 설명합니다.
  • Windows Development : 그들은 모두 Windows 플랫폼에서 잘 작동하며 Mercurial 또는 Bazaar에 약간의 이점 (더 나은 통합)이있을 수 있습니다.
  • 문제 추적기 통합 (아마도 Redmine이 될 것입니다.

다른 팁

git의 문제는 무엇입니까? 나는 지금 Windows에서 git을 사용하고 있습니다. 잘 작동합니다.git 확장 탐색기 통합을 원한다면 매우 유용합니다. 이것이 문제라면 매우 유용합니다.

나는 클리어 케이스에 대한 경험이 없지만 다음이 도움이되기를 바랍니다. 귀하의 질문은 결정하기 전에 고려해야 할 몇 가지 정보를 제시합니다. 먼저 얼마나 많은 소스 코드가 있습니까? SVN은 Linux 커널 git과 같은 진정으로 거대한 프로젝트를 위해 중간에서 대형 프로젝트에 적합하지만 훨씬 더 나은 성능을 제공 할 것입니다. 둘째, 어떤 IDE를 사용하고 있습니까? Mercurial, Git 및 SVN에는 모두 Visual Studio 및 Eclipse 플러그인이 있습니다. Redmine에 대한 Wikipedia 기사에 따르면, 당신이보고있는 SCM 시스템 중 하나는 통합 될 것입니다. 다음 블로그는 생계를 위해 SCM 시스템을 작성하는 사람을 구매 한 이후로 도움이 될 수 있습니다.http://www.ericsink.com/

Windows에서 실행해야한다는 요구 사항을 삭제할 수 있다면 보는 것이 좋습니다. 보호.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top