Programing

ClearCase 장점 / 단점

crosscheck 2020. 11. 6. 07:51
반응형

ClearCase 장점 / 단점


현재 IBM Rational ClearCase를 배우는 데 어려움을 겪고 있기 때문에 귀하의 전문적인 의견을 듣고 싶습니다.

저는 특히 Subversion 또는 Git과 같은 다른 버전 제어 시스템과 비교할 때 장점 / 단점에 관심이 있습니다.


내 SO 답변에서 ClearCase와 Git 간의 좋은 비교를 찾을 수 있습니다.
" 모든 개발자가 알아야 할 기본 ClearCase 개념은 무엇입니까? ", 몇 가지 주요 차이점 (및 ClearCase의 일부 단점)을 설명합니다.


파일 중심 작업

ClearCase의 가장 중요한 단점은 이전의 " 파일 중심 "접근 방식입니다 ( SVN, Git 또는 Perforce와 같은 " 저장소 중심"과는 반대 ...).
즉, 각 체크 아웃 또는 체크인이 파일별로 수행된다는 의미입니다. 작업 원자 성은 파일 수준입니다.
이를 매우 장황한 프로토콜 과 개발자 워크 스테이션과 VOB 서버 사이에 잠재적으로 여러 노드가있는 네트워크와 결합하면 상당히 느리고 비효율적 인 파일 서버 (ClearCase가 핵심 임)로 끝날 수 있습니다.

파일 당 파일 작업 수단 : 느린 재귀 작업 (같은 재귀 체크 아웃 또는 재귀 "소스 제어에 추가" 도에 의해 clearfsimport). 빠른 LAN은 그 수다스러운 프로토콜의 부작용을 완화하기 위해 필수입니다.

중앙 집중식 VCS

고려해야 할 다른 측면은 중앙 집중식 측면입니다 (다중 사이트 복제 VOB 기능으로 "분산"될 수 있음에도 불구하고)
. 네트워크에서 VOB에 대한 액세스를 허용하지 않는 경우 개발자는 다음을 수행 할 수 있습니다.

  • 여전히 스냅 샷보기 내에서 작동합니다 (하지만 하이재킹 된 파일에만 해당).
  • 동적보기를 사용하는 경우 네트워크 복원을 기다립니다.

고가의 분산 VCS 옵션

Vob을 복제하여 분산 된 VCS 기능을 사용할 수 있습니다.
그러나:

  • 액세스하려면 특별한 종류의 라이센스가 필요합니다.
  • 해당 라이센스는 비싸고 일반 라이센스 비용에 추가됩니다.
  • 복제 된 vob (admin vob, admin pvob, ...)을 사용하는 모든 vob도 복제되어야합니다 (분산 개발과 직접 관련이없는 일부 프로젝트는 여전히 다중 사이트 라이센스를 지불해야합니다 ...).

오래되고 사용자 친화적이지 않은 GUI

  • GUI는 매우 구식이고 실용적이지 않습니다 (90 년대 중반의 MFC 모양, 완전히 동기화 된 GUI, 즉 다른 곳을 클릭하기 전에 새로 고침을 기다려야 함) : 기준선을 탐색 할 때 특히 빠르게 찾을 수 없습니다.
  • Unix의 GUI는 Windows와 정확히 동일하지 않습니다 (최신 7.1 버전이 더 좋지만 아직 없습니다).
  • 설치 프로세스가 매우 복잡합니다 (CC7.1에 의해 도입 된 최신 설치 관리자는 이제 Windows 또는 Unix에서 일관된 GUI이며 절차를 단순화합니다).
  • 유일한 리치 애플리케이션은 CCRC (원격 클라이언트) 용으로 만 개발되었습니다.

UCM 불일치 및 일관성

" ClearCase의 기능을 활용하는 방법 "에서 언급했듯이 동적보기는 훌륭하지만 (데이터를 디스크에 복사하지 않고도 네트워크를 통해 데이터를 볼 수있는 방법) 주요 기능은 여전히 UCM입니다 . 다음과 같은 경우 실제 자산이 될 수 있습니다. 복잡한 워크 플로우가있는 큰 프로젝트.

이에 대한 몇 가지 단점 :

Base ClearCase를 사용한 제한된 정책

UCM을 사용하지 않고 ClearCase를 사용하면 다음과 같은 정책을 정의해야합니다.

  • 브랜치 생성 (그렇지 않으면 누구든지 브랜치를 생성 할 수 있으며 병합 워크 플로의 악몽으로 끝나게됩니다)
  • 레이블을 넣습니다 (그렇지 않으면 일부 파일에 레이블을 지정하는 것을 잊었거나 의도하지 않은 곳에 레이블을 넣거나 한 버전에서 다른 버전으로 레이블을 "이동"(헐떡임) : 최소한 UCM 기준선은 이동할 수 없음).
  • 변경 세트를 정의 합니다. ChangeSet은 UCM 활동에만 존재합니다. Base ClearCase를 사용하면 영리한 " cleartool find"요청으로 축소됩니다 .

신청 권한 없음

ClearCase 권한 관리는 전적으로 시스템 권한을 기반으로합니다.
즉, 사용자를 올바른 시스템 그룹에 등록해야하는데, IT 서비스에 대한 티켓을 입력해야 적절한 등록을 할 때 항상 쉽지는 않습니다.
여기에 이기종 환경 (Windows의 사용자, Unix의 서버)을 추가하면 Windows뿐 아니라 Unix에도 사용자를 등록해야합니다! (동일한 로그인 / 그룹 이름 사용). 두 세계 사이에 일종의 LDAP 통신을 두지 않는 한 ( Centrify 와 같은 )

고급 API 없음

  • CLI 만 완료됩니다 ( " cleartool"는 ClearCase 명령 줄 인터페이스 임). 즉, 모든 스크립트 (Perl 또는 기타 언어)는 해당 cleartool명령 의 출력을 구문 분석하는 데 사용됩니다.
  • ClearCase 자동화 라이브러리 (CAL) 가 존재하지만 매우 제한적입니다.
  • Java API가 있지만 CCRC 클라이언트의 웹보기에만 해당됩니다.

쉽게 중앙 집중화 / 백업되지 않는 스토리지보기

View 저장소는 SubVersion의 ".svn"과 동일합니다. 단, SubVersion 작업 공간의 모든 디렉토리에 많은 .svn이있는 대신보기 당 하나의 "보기 저장소"만 있습니다. 좋습니다.

나쁜 점은 뷰 내의 각 작업 (간단한 " ls", 체크 아웃, 확인 등)이 뷰 서버를 관리 하는 view_server 프로세스에 대한 네트워크 요청을 트리거한다는 것 입니다. 2 가지 옵션 :

  • 워크 스테이션에 뷰 스토리지를 선언하십시오. 확장 성이 뛰어나고 LAN에 부담을주지 않고 원하는만큼 많은 뷰를 가질 수 있습니다. 모든 통신은 워크 스테이션에서 직접 수행됩니다. 그러나 그 기계가 당신에게 죽으면 당신은 당신의 견해를 잃습니다 .
  • 중앙 집중식 서버에서 뷰 스토리지를 선언하십시오. 즉, 모든 view_server 프로세스가 거기에서 생성되고 모든 사용자가 뷰에 대한 모든 작업이 해당 서버와 통신해야 함을 의미합니다. 인프라가 "올바른"경우 (특수 고속 LAN, 전용 서버, 상시 모니터링) 수행 할 수 있지만 실제로는 LAN이이 모드를 지원하지 않습니다.

첫 번째 모드는 진행중인 작업 (개인 파일 또는 체크 아웃 된 파일)을 직접 백업해야
함을 의미합니다. 스냅 샷보기의 파일)


동적 뷰 에 대한 사이드 토론 :

"동적 뷰"측면에 추가하려면 한 가지 장점 (동적)과 한 가지 단점 (동적)이 있습니다.
동적보기는 소규모간에 소규모 개발 을 신속하게 공유 할 수있는 간단한 환경을 설정하는 데 적합합니다. 소규모 개발 노력의 경우 동적보기를 사용하면 2 ~ 3 명의 개발자가 서로 지속적으로 연락을 유지하고 커밋이 중단 될 때 즉시 확인할 수 있습니다. 다른 관점에서 뭔가. 더 복잡한 개발 노력의 경우 스냅 샷보기에서 제공하는 인위적인 "격리"가 바람직합니다 (스냅 샷보기를 새로 고치거나 "업데이트"할 때만 변경 사항이 표시됨).

실제 다른 개발 노력이나 과정의 경우 진정한 코드 격리를 달성하기 위해 브랜치가 여전히 필요합니다 (언젠가는 병합이 필요하며 ClearCase는 파일별로 느리지 만 매우 잘 처리합니다)

요점은 올바른 이유로 둘 다 사용할 수 있다는 것입니다.

참고 : 소규모 팀 이란 "작은 프로젝트"를 의미하지 않습니다. ClearCase는 대규모 프로젝트에 가장 적합 하지만 동적 뷰를 사용하려는 경우 분기당 작은 개발 노력 을 분리하기 위해 " 작업 분기 를 설정해야합니다 . 그런 식으로"소규모 팀 "(대규모 팀의 하위 집합) ) 효율적으로 작업 할 수 있으며 구성원간에 작업을 빠르게 공유 할 수 있습니다. 모든 사람이 작업을 수행하는 "메인"브랜치에서 동적 뷰를 사용하는 경우 모든 체크인은 관련없는 "빌드 브레이크"를 도입 할 수 있으므로 "당신을 죽일"것입니다. 현재 개발 노력 으로 인해 동적 뷰를 제대로 사용하지 않고 다른 용도를 잊어 버리게됩니다.

  • 데이터액세스하는 추가 방법 , 스냅 샷보기 외에도 파일을 "보기"하는 데 유용한 도구입니다 (예를 들어 동적보기를 사용하여 원하는 항목이 표시 될 때까지 구성 사양을 조정 한 다음 선택 항목을 복사 할 수 있음). 일반적인 스냅 샷보기에 규칙)
  • 병합을위한 측면보기 : 스냅 샷보기로 작업하지만 병합의 경우 다음으로 인한 병합 실패를 방지하기 위해 동적 "자매보기"( "동일한 구성 사양"에서와 같이 "자매")를 사용할 수 있습니다. 체크 아웃 된 파일 (현재 스냅 샷보기에서 작업 중임) 또는 스냅 샷보기가 완전히 최신 상태가 아니기 때문입니다. 병합이 완료되면 일반 스냅 샷보기를 업데이트하고 작업을 재개합니다.

모든 (체크 아웃되지 않은) 파일이 네트워크를 통해 읽히기 때문에 동적보기에서 직접 개발하는 것이 항상 최선의 선택은 아닙니다 .
즉, IDE에 필요한 dll, jar 또는 exe가 네트워크를 통해 액세스되므로 컴파일 프로세스가 상당히 느려질 수 있습니다.
가능한 해결책:

  • 모든 것이 포함 된 하나의 스냅 샷보기
  • dll 또는 jar 또는 exe가 포함 된 스냅 샷보기 (5 분마다 변경되지 않는 파일 : 하루에 한 번 업데이트) 및 소스 만 표시되는 동적보기.

비용은 상당히 명백한 단점입니다. 라이센스 비용뿐만 아니라 ClearCase 전문가의 급여 비용도 포함됩니다. ClearCase를 사용하는 거의 모든 회사에는 무질서한 짐승을 길들이는 유일한 목적을 가진 사람이 한 명 이상있는 것 같습니다.

풀 타임 유모가 필요할만큼 복잡하다는 사실도 걱정 스럽습니다.


시스템의 절대적인 악몽. VSS로 돌아가고 싶었습니다! ( Subversion 또는 Git과 같은 최신 소스 제어 시스템은 신경 쓰지 마십시오 !)

  • 그것은 slooooow 입니다.
  • 동적 보기 를 사용 하고 네트워크가 다운 되면 원본 의 작업 복사본액세스수 없습니다 . 당신은 아무것도 할 수 없지만 앉아서 그것이 고쳐질 때까지 기다리 십시오.
  • 스냅 샷 보기 를 사용하는 경우 항상 충돌 및 "도용 된"파일이 발생하는 것처럼 보이므로 작업 복사본의 파일 은 소스 저장소 의 파일 과 동일하지 않습니다 .
  • 대규모 업데이트 를 시도 하거나 작업을 제공 할 때마다 어떤 이유로 든 항상 실패 하므로 ClearCase 전문가가이를 파악하는 데 몇 시간 / 일을 소비해야합니다. 네, 전임 ClearCase 전문가가 있어야합니다 !
  • 실패하면 작업을 롤백 할 수없는 경우가 많으 므로 진행중인 작업에 갇혀 개발자가 차단 됩니다.
  • pretty (?) 아이콘을 살펴보면 GUI가 매우 열악 합니다. 전체 파일 경로를보기 위해 창 크기를 조정할 수없는 것과 같은 것입니다!
  • 그들의 지원 직원은 무엇이든 고치는 것을 매우 꺼립니다. 그들의 첫 번째 반응은 항상 " 이것은 의도적으로 설계된 것입니다 "와 "해결할 수 있습니까?"입니다. 그들이 궁극적으로 해결책을 제공한다면 (많은 논쟁 끝에) 가장 즉각적인 문제에 대한 가장 기본적인 가능한 해결책이 될 것입니다.

기본적으로 지옥처럼 느리고 복잡하며 신뢰할 수 없습니다. 아, 그리고 엄청나게 비싸다고 말 했나요? 그들이 판매 할 수있는 유일한 방법은 제품을 사용하지 않았고 절대 사용하지 않을 의사 결정권자와 이야기하는 것입니다! 나는 세상의 어떤 개발자도 그것을 사지 않을 것이라고 확신합니다.


Atomic 커밋 및 변경 세트는 ClearCase에 대한 가장 큰 불만입니다. 버그 수정 또는 리팩토링의 일부로 5 개의 파일을 체크인했다고 가정 해 보겠습니다. 그런 다음 무언가가 엉망이 된 것을 발견하고 되돌릴 필요가 있습니다. 5 개의 파일이 있고 파일이 어떤 버전에 있어야 하는지 행운을 빕니다 . 그러나 한 발 뒤로 물러나 자. 5 개의 파일 편집을 완료했으며 이제 커밋 할 시간입니다. 처음 4 개는 괜찮습니다. 마지막 것은 대규모 병합이 필요합니다. 다른 4 개의 파일은 이미 체크인되었습니다. 마지막 파일에서 필요한 변경을 완료 할 때까지 기다리지 않습니다. 아무도 업데이트하거나 동적 뷰를 사용하지 않기를 바랍니다. 지속적 통합 빌드 서버도 실패 할 것입니다.

때때로 우리는 체크인해야 할 파일로 가득 찬 완전히 새로운 디렉토리를 만들지 만 완료 될 때까지 체크인하고 싶지 않습니다. 아직 이르고 모든 것이 여전히 휘발성이므로 곧 삭제할 수도있는 항목을 확인하는 이유는 무엇입니까? 좋아, 지금까지는 괜찮아. 이제 체크인 할 시간입니다. 새로 생성 된 폴더를 소스 제어에 추가합니다. 음, ClearCase는 재귀 적이 지 않으므로 해당 단일 폴더 체크인됩니다. SVN을 사용하면 선택한 폴더와 그 아래의 모든 항목이 추가됩니다. 개발자는 모든 것을 추가하는 것을 기억해야합니다. 그렇지 않으면 많은 파일이 누락됩니다.

ClearCase는 파일과 폴더를 소유하므로 먼저 체크 아웃하지 않는 한 아무것도 수정할 수 없습니다. 이클립스 플러그인은 여기에서 많은 성가신 문제를 해결합니다. 빠른 변경을 위해 vi에서 파일을 몇 번 열 었는지 말할 수 없으며 먼저 확인하는 것을 잊었다는 것을 알았습니다. 체크 아웃도 재귀 적이 지 않습니다.

변경 집합이 없으면 업데이트 속도가 매우 느려질 수 있습니다. 스냅 샷보기로 업데이트하면 수정 된 파일뿐만 아니라 모든 파일이 업데이트됩니다. 20,000 개 이상의 파일이있는 프로젝트에서 작업했습니다. 나는 내 업무용 컴퓨터에 원격으로 접속하여 업데이트를 시작한 다음 운전하여 출근했습니다. 커피를 마시다. 작업이 끝나는 동안 내 책상으로 가십시오. 과장처럼 들릴지 모르지만 슬프게도 그렇지 않습니다.

매우 작은 팀이 아니라면 동적 뷰는 끔찍합니다. 그렇다면 왜 ClearCase를 가지고 있습니까? 나는 누군가가 다른 사람들의 견해를 깨뜨린 파일을 체크인했기 때문에 수많은 사람들의 견해가 쏟아지는 것을 보았습니다. 항상 자신의 관점에서 충돌을 업데이트하고 병합해야합니다. 그렇게하면 변경 사항이 귀하에게만 영향을 미칩니다. 동적보기를 사용하면 뒤로 밀기 전에 병합 할 수 없습니다. 당신은 단지 헌신하고 희망합니다.

비용이 큰 문제가 아니라는 것을 알고 있지만 회사를 위해 돈을 버는 개발자는 재미있는 이벤트 나 새 장비 (일반적으로 추가되는 ClearQuest 라이선스에 따라 다름)에 $ 50,000 ~ $ 100k ( 의자, 모니터 등). IBM은 ClearCase를 계속 진행할 직원을 둘 것을 권장합니다. 일이 무너 지거나 타지 않도록하는 대신 회사의 수익을 창출하기 위해 그 사람들의 용도를 변경하는 것은 어떨까요?


전환하지 않은 이유 중 일부는 다음과 같습니다.

  • 학습에는 시간과 돈이 필요합니다
    • SVN 또는 Mercurial을 배우는 데 하루 이상 걸리지 않습니다. ClearCase만이 특정 비율의 관리자와 개발자를 제안합니다.
  • 마이그레이션은 고통 스러울 것입니다
    • 이것이 도구가 존재하는 이유입니다 : cc2svn
    • Mercurial 은 쉽지 않습니다.
  • 보안
    • SVN AFAIK에는 알려진 틈새가 없으며 개발 팀은 신속하게 발견되는 모든 것을 수정하는 데 전념합니다. 국방부는 SVN에 대해 괜찮은 것 같습니다.
  • 나중에 실질적인 생산성 향상 없음
    • 변경 세트없이 버그를 추적하려면 영원히 걸립니다. 나는 버그를 볼 수 없을 때까지 롤백 할 수 있다는 것을 좋아합니다. ClearCase에서는 그렇게 할 수 없습니다.
  • 다중 사이트
    • WANdisco는 이러한 문제를 해결합니다. 하지만 무료는 아닙니다.

ClearCase가 나머지 것보다 더 잘하는 유일한 일은 개별 파일을 분기하고 다른 파일은 다른 분기와 동일한 트랙에 유지하는 것입니다.


Clearcase에서 제가 한 모든 일은 항상 어려운 것 같습니다 . 반면에 다른 시스템에서는 그런 인상을받은 적이 없습니다 (때때로 CVS 제외).

SVN, CVS, Clearcase 및 Mercurial을 사용했습니다.


ClearCase에 대한 저의 경험은 재앙이었고, 상주 전문가가 필요하다는 Don의 진술을 두 번째로 할 것입니다. 안타깝게도 한 명 이상이었습니다. CVS 및 기타 버전 제어 시스템에 대한 경험이 있고 개념에 익숙했지만 ClearCase 문서를 이해할 수 없음을 발견하고 여러 번 도움을 요청해야했습니다. 다른 전문가들은 우리가 실제로 cd를 깨뜨린 지점까지 상충되는 조언을 해주었습니다 . 즉, UNIX 쉘에서 ClearCase 명령을 실행 한 후 "cd"명령이 오류 메시지와 함께 실패했습니다.

버전 관리 시스템의 기본 작업은 매우 간단합니다. 솔직히 다른 사람들과 잘 어울리는 파일 구성표를 사용하면 6 개의 명령으로 충분하다고 생각합니다. 나에게 ClearCase는 마케팅 담당자가 제품을 정교하고 강력하게 보이게 만들기 위해 의도적으로 지옥을 복잡하게 만든 결과처럼 보입니다. 간단하고 안전하며 신뢰할 수있는 방식으로 작동하도록 구성 할 수 있지만 전문가의 서비스가 필요하다고 들었습니다. 즉석에서 전동식 스위스 군용 칼과 같습니다.


ClearCase와 관련하여 내가 경험 한 모든 것은 비효율적이고 추하고 지나치게 복잡하며 느리고 혼란스럽고 비용이 많이 들고 불편합니다.

모든 것이 잘못되었다고 생각하는 관리자와 엔지니어를 끌어들이는 것 같습니다.

젠장, IBM과 Rational은 그런 엉터리 제품을 팔기 위해 놀라운 세일즈맨이 있어야한다.


여기에 제공된 여러 가지 이유로 CC에서 Git으로 마이그레이션하고 있습니다. CC 또는 기타 상업적 소스 제어 시스템에서 멀리 떨어져있는 한 가지 이유를 추가하고 싶습니다.

중요한 비즈니스 데이터는 ClearCase의 인질입니다. 당신은 그것을 꺼낼 수 없습니다.

중요한 비즈니스 데이터는 코드, 버전 기록 및 커밋 댓글과 같은 모든 메타 데이터, 누가 언제 체크인했는지입니다.

모든 소프트웨어는 제한된 유효 수명을 갖습니다. 코드, 버그, 고객 데이터 여부에 관계없이 중요한 비즈니스 데이터를 삼키는 새로운 시스템을 도입 할 때 항상 자문해야합니다. 데이터를 다시 가져 오려면 어떻게해야합니까? 그 질문에 답할 수 없다면 그 시스템을 도입해서는 안됩니다.

마이그레이션 할 때 대부분의 역사와 모든 메타 데이터를 잃었습니다. 기본적으로 릴리스 된 버전에 해당하는 기록 만 있지만 고객 요청에 따라 변경된 사항에 대한 정보가 손실됩니다 (고객 지원 및 버그 티켓 시스템에 해당 데이터가 있으므로 완전히 손실되지는 않지만 소스 코드가 사라졌습니다).

이것은 단기에서 중기 적으로 우리에게 성가신 문제와 문제 사이의 어딘가에있을 것입니다. 몇 년 후에는 더 이상 중요하지 않지만 아마도 1-3 년 동안은 중요 할 것입니다.

(CC를 다른 SCM으로 마이그레이션 할 수있는 상용 도구가 있지만 우리의 요구에 적절하지 않은 것으로 간주되어 실현 가능하지 않았을 것입니다. 최소한의 수출에 충분히 오래 걸렸습니다.)

배운 교훈은 다음과 같습니다. 중요한 비즈니스 데이터를 독점 시스템에 맡기지 마십시오.


원자 적 커밋 없음

일단 파일을 체크인하면 원자 적 커밋이 지원되지 않기 때문에 특정 상태로 되 돌리는 것이 매우 어렵습니다. 여러 파일을 체크인 할 때 각 파일은 체크인 자체가 아닌 새 개정 (CVS와 유사)을 가져옵니다. 단일 파일을 되 돌리지 않고 커밋 작업 (작업을 매핑해야 함)을 완료하기를 원하기 때문에 이것이 중요한 기능이라고 생각합니다. ClearCase를 사용하면 레이블을 사용하여 특정 상태로만 되돌릴 수 있습니다. 실제로 각 체크인에 대해 ClearCase 레이블을 사용하는 것은 지나친 작업이므로 수행되지 않습니다.

Crappy 사용자 인터페이스

ClearCase Explorer의 GUI는 큰 농담입니다. 사용성이 끔찍하고보기 흉합니다. 다양하고 자주 필요한 기능이 제공되지 않습니다 (예 : 아티팩트에 대해 재귀 적으로 체크인). cygwin과 함께 사용되는 명령 줄 도구 cleartool이 훨씬 더 좋지만 소스 제어에 새 파일 / 폴더를 재귀 적으로 추가하는 것과 같은 일부 기능은 여전히 ​​사용할 수 없습니다. 이 문제를 해결하기 위해 50 줄의 코드 긴 스크립트를 읽으면 머리를 웃어야합니다.

높은 관리 노력

ClearCase beast를 관리하는 것은 명백하거나 가벼운 것과는 거리가 멀다 (CVS, Subversion 또는 Git와 같은 다른 scm 시스템과는 다름). 이 기능을 계속 실행하기 위해 많은 전담 ClearCase 전문가를 배치 할 것으로 예상됩니다.

끔찍한 성능

개발자가 SCM 도구와 상호 작용하는 동안 기다리게하는 것보다 더 나쁜 것은 없습니다. 수동 브레이크를 활성화 한 상태에서 운전하는 것과 같습니다. 그것은 당신의 두뇌와 일을 느리게합니다. 새 파일을 스냅 샷보기로 가져 오는 데는 10K 아티팩트의 경우 약 30 분이 걸립니다. 동일한 양의 업데이트 (아티팩트가 변경되지 않음)에는 약 5 분이 걸립니다. 많은 실험을하고 서로 다른 최신보기 사이를 건너 뛰는 것은 많은 것을 기다리는 것을 의미합니다. 파일 작업을 할 때 체크인하거나 업데이트하고 싶을 때 더욱 악화됩니다. 체크 아웃, 체크인 및 소스 제어주기에 추가하는 데 약 10 ~ 15 초가 소요되며 이는 분명히 악몽입니다. 유형 또는 메서드의 이름 변경 / 이동을 리팩토링 할 때 매우 짜증이납니다 (많은 파일이 영향을받을 수 있음).

분산 개발 지원 부족

오늘날 소프트웨어 개발은 ​​종종 분산 된 것입니다 (개발자들은 동일한 제품 / 프로젝트를 작업하는 전 세계에 퍼져 있습니다). ClearCase는 오프라인 작업에 적합하지 않기 때문에 분명히 적합하지 않습니다. 체크 아웃 (파일 / 폴더를 편집하기 전에 작업)을 수행하려면 네트워크에 연결되어 있어야합니다. 여기서 하이 잭 옵션을 사용할 수 있지만 이것은 기능으로서의 해결 방법입니다 (기본적으로 파일 시스템에서 파일 잠금을 해제합니다). 개발 사이트가 ClearCase 서버에서 멀리 떨어져있는 경우 체크인 / 체크 아웃 대기 시간이 극적으로 증가하여 전혀 사용할 수 없습니다. ClearCase Multisite (scm DB 복제 기술)를 사용하는 것과 같은 해결 방법이 있지만 추가 비용을 지불해야하며 관리가 간단하지 않습니다.

대안으로 힘내

오픈 소스의 열렬한 팬 + 지지자이지만 여전히 좋은 소프트웨어에 돈을 지불 할 의향이 있습니다. 하지만 IBM 몬스터 ClearCase를 살펴보면 여기에 돈을 투자하지 않을 것입니다. 여기에는 이러한 모든 단점이 논의되어 있으며 더 많은 IBM은 제품을 크게 개선하기 위해 돈을 투자하지 않는 것 같습니다. 최근에는 ClearCase의 주요 강점 인 분기 + 병합 기능이 매우 좋아 보이는 Git scm을 보았습니다.

이 정보는 http://www.aldana-online.de/2009/03/19/reasons-why-you-should-stay-away-from-clearcase/ 에서 가져온 것입니다 .


아마도 지금까지 만들어진 최악의 소프트웨어 일 것입니다. 나는 합리적인 것을 사용하는 회사에서 일하지 않을 것입니다. CC가 완전히 충돌하고 동적 빌드에서 내 워크 스테이션을 자주 다시 시작하는 것 외에. 소스 제어에 무언가를 푸시하고 CC가 가장 잘하는 일을하면 어떻게됩니까? 그런 다음 코드가 분실 + 발견에 저장되고 어딘가에 백업됩니까? 아니요, 영원히 사라졌습니다. 따라서이 거대한 값 비싼 소프트웨어를 사용하는 끔찍한 상황에 처해 있다면 모든 것을 복제하십시오. 잘 했어 Rational / IBM. 소스 제어, 신뢰성의 가장 중요한 부분을 포착하는 방법. 천천히 죽어라.


ClearCase의 단점-여기에 가장 심층적 인 게시물에 추가되었습니다.

  1. 병합 도구는 가치가 없습니다. 간신히 도움이되고, 당신이 내린 결정을 기억하지 못합니다. 단지 영광스러운 차이 일뿐입니다.

  2. 병합 도구는 병합이 필요한지 확인하기 위해 디렉터리를 체크 아웃해야합니다. 약간 미쳤습니다.

  3. 저는 직장에서 BitKeeper를 사용하고 (Git 가정하자) 충돌이 있어도 두 개의 저장소를 병합하는 것은 명령 줄을 사용해도 사소하고 사용자 친화적 인 반면, ClearCase는 수많은 GUI 도구를 사용하는 것은 길고 힘든 프로세스이며 오류가 발생하기 쉽습니다. .

  4. 모든 GUI 도구에는 많은 대기 시간이 필요합니다. 파일에서 수행 할 수있는 작업을 확인하더라도 고속 연결이 필요합니다. 따라서 집에서 작업하는 파일을 ClearCase 도구에서 마우스 오른쪽 버튼으로 클릭하면 엄청난 양의 네트워킹 요구 사항 때문에 고속 인터넷을 사용하는 데 1 ~ 2 분 정도 걸릴 수 있습니다.

  5. 뷰 스펙을 팀과 다르게 만들면 누군가 저장소 나 체크인을 완전히 엉망으로 만들 수 있습니다. 아무도 그냥 몇 가지 브랜치를 확인할 수 없다는 것은 꽤 미친 짓입니다. 그들은 우연히 그들에게 올바른 것을 줄 적절한 뷰 스펙이 필요합니다. 전체 개념은 훌륭하고 유연 할 수 있지만 99 %의 경우 많은 고통을 유발합니다. CC 도구는 UTF-8을 허용하지 않으므로 복사하여 붙여 넣을 수 없기 때문에 Microsoft Outlook을 통해 사양을 이메일로 보낼 수 없다고 언급 했습니까?

  6. CC에 대해 할 말이 전혀 없습니다 . 2 개 회사에서 2 년 동안 사용했고, 내내 행복 함을 느끼며 심장 박동으로 떨어 뜨 렸습니다. 집에서 자신의 프로젝트로 실험하는 것도 불가능하므로 집에서 SVN 또는 Git을 배우고 직장에서 ClearCase 고통을 겪어야합니다. 내가 아는 누구도 CC를 자발적으로 사용한 적이 없습니다. 그들은 직장의 일부 관리자가 CC가 구원의 길이라고 결정하고 모든 사람이 여기로 마이그레이션하도록 강요했기 때문에 사용합니다. 사실 저의 마지막 회사는 CVS에서 ClearCase로, 그리고 1 년 후에 ClearCase에서 SVN으로 마이그레이션했습니다. 미워했다.

  7. ClearCase는 단순히 거절하는 한 가지가 아닙니다. 개미가 득실 거리는 집에 사는 것과 같습니다. 각 개미는 기껏해야 사소한 불편 일 뿐이지 만 감염은 당신을 미치게 할 것입니다.


여기에 실제 게시물에 몇 가지 댓글을 통합하려고합니다. 나는 몇 가지 요점을 만드는 방법을 제외하고는 하나가 다른 것보다 낫다고 당신을 설득하기 위해 여기에 온 것이 아닙니다.

  • git과 ClearCase를 비교하는 경우, 귀하의 요구 사항을 더 잘 정의해야한다고 정중하게 제출합니다. ClearCase를 "좋은"이유로 고려하고 있다면 git은 아마도 방정식에 포함되지 않았을 것입니다. 신뢰하기에는 너무 새롭습니다. 엔터프라이즈 수준의 소스 제어를위한 imo.
  • ClearCase는 다른 시스템에없는 버전 제어 공간에 많은 개념을 도입하므로 매우 어렵고 혼란 스러울 수 있습니다. 특히 당신이 가진 유일한 경험이 문서를 읽는 것이라면, 여기 몇몇 사람들의 경우처럼 보입니다.
  • ClearCase는 VOB 서버가있는 LAN에 있지 않은 개발자가 지원하는 거대한 코드 기반에는 확실히 적합하지 않습니다. 복제 된 (다중 사이트) VOB 서버를 여러 개 사용하여 원격 개발자와 가깝게 만들 수 있지만 해당 원격 사이트가 단일 개발자 인 경우 반드시 실용적이지는 않습니다.
  • 파일 버전 관리 또는 저장소 버전 관리를 원하십니까? 이것은 매우 중요한 질문이며 반드시 전체 도구 세트를 필터링하여 작업을 더 쉽게 만들어주는 질문입니다. 리포지토리 버전 관리에는 많은 이점이 있습니다 (그리고 일부 포스터가 주장하는 것처럼 "새로운"것은 아닙니다. Perforce와 같은 상용 도구는 10 년 이상 사용되어 왔으며 Perforce 이전에도 저장소 버전 관리를 수행 한 도구가있을 수 있습니다). 만병 통치약이 아닙니다.
  • 소스 제어 시스템을 충분히 크게 설치하면 도움이 필요합니다. 도구를 고려할 때 도움을 줄 사람을 찾는 것이 얼마나 쉬운 지 고려해야합니다 (경험이있는 입사 지원자 또는 문제를 해결하기 위해 즉시 연락 할 컨설턴트). 유지 보수가 필요없는 SCM 시스템은 없으며, 시스템이 있다고 가정하면 "너무 많은"관리가 필요한 시스템을 선택하는 것보다 더 많은 문제가 발생합니다.
  • "동적 뷰"가 얼마나 나쁜지에 대해 이야기하는 사람들에게 너무 많은 관심을 기울이지 마십시오. 사용하는 도구에 관계없이 나쁜 SCM 정책은 나쁜 것입니다. 구성 관리 정책 및 관행은 선택한 도구와 분리되어야합니다. 합리적인 분기 및 병합 정책을 정의하지 않으면 어떤 도구도 사용자가 코드베이스 전체를 부수는 것을 막을 수 없습니다. 누군가 개발자가 / main에 직접 커밋하도록하는 것이 현명한 아이디어라고 제안하는 경우 해당 대화에서 벗어나고 싶을 수 있습니다.

ClearCase는 훌륭한 도구이지만 복잡합니다.수단. 이 문제를 피할 수 없습니다. "쉬운 설치"모드가 없습니다. :-) 기술적 관점에서 git 또는 SVN이 ClearCase가 할 수없는 작업을 수행 할 수있는 것은 없습니다 (오픈 소스 프로젝트가 이미 존재하는 새로운 분류를 발명하는 경향이 있기 때문에 종종 용어가 다르지만), 일부는 확실히 더 쉽습니다 / 설계에 따라 주어진 시스템에 대해 더 단단합니다. ClearCase "스냅 샷"뷰는 기본적으로 SVN 또는 CVS에서 리포지토리를 체크 아웃 한 경우와 동일합니다. 버전 기록을 쿼리하는 도구를위한 중앙 서버에 대한 포인터가있는 컴퓨터에있는 소스 코드의 로컬 복사본입니다. 등. ClearCase 서버에 대한 네트워크 연결없이 이러한 뷰를 만들 수 있으며 "재활용"할 수 있습니다. 예를 들어 다른 지점에서 작업하기 위해 이동하려는 경우 전체 저장소를 다시 다운로드하지 않도록합니다. "동적 뷰"는 기본적으로 ClearCase의 발명품이며 LAN의 표준 작동 모드입니다. SVN 저장소를 체크 아웃하는 것과 동일하게 보이지만 변경하기 전까지는 실제로 파일을 복사하지 않습니다. 이러한 방식으로 뷰를 즉시 사용할 수 있지만 주 클리어 케이스 서버를 사용할 수없는 경우에는 분명히 작업 할 수 없으며 대기 시간이 긴 연결에서 작업하는 것이 불편합니다. 또한 생성 된 서버에 액세스 할 수있는 모든 시스템에 네트워크 드라이브로 마운트 할 수있는 편리함이 있습니다. 따라서 Windows 워크 스테이션이 죽으면 다른 워크 스테이션에 로그온하고보기를 마운트하고 다시 일,

또한, 이것은 자신의 단락을 가질 가치가 있습니다 .... clearmerge는 입장료만으로도 거의 가치가 있습니다. 내 인생에서 사용한 최고의 병합 도구입니다. 나는 SCM의 많은 나쁜 관행이 고품질 병합 도구의 부족으로 발전했다고 굳게 믿고 있습니다. 그래서 CVS 사용자는 브랜치를 제대로 사용하는 법을 배우지 못했고 브랜치에 대한 이러한 두려움은 특별한 이유없이 오늘날까지 전파되었습니다.

좋습니다. ClearCase를 사용하지 않는 이유를 찾고 있다면 찾기 어렵지 않습니다. 비록 그것이 잘못된 방법이라고 생각합니다. 정말로 ClearCase를 사용하지 않는 이유가 아니라 ClearCase를 사용해야하는 합당한 이유를 찾아야합니다. ClearCase가 작업에 너무 많은 도구이거나 도구가 너무 복잡하다고 가정하고 SCM 상황에 처한 다음 어쨌든 사용을 권장하는 상황이 있는지 확인해야합니다. IBM 또는 Rational 로고가있는 것은 좋은 이유가 아닙니다 .. :-)

다음 진술에 모두 예라고 답할 수 없다면 ClearCase도 고려하지 않습니다.

  • 지금 또는 결국 동일한 코드베이스에서 작업하는 50 명 이상의 개발자를 갖게 될 것입니다.
  • 대부분의 개발자는 중앙에 위치하거나 중앙 위치에 높은 처리량의 짧은 대기 시간 연결이 있습니다.
  • SCM 정책 세트가 있으며 ClearCase를 사용하여 해당 정책을 시행하는 방법을 식별 할 수 있습니다 (정말 모든 도구에 대해이를 고려해야 함).
  • 돈은 정말 대상이 아닙니다

내 경험은 대부분 CC, CVS 및 SVN에 의해 ​​제한됩니다. 원칙적으로 CC는 기술적으로 가능하고 기업용으로 준비되어 있으며 모든 최신 VCS의 기능과 비교할 수 있습니다. 그러나 사람 중심의 환경에서는 사용할 수 없게 만드는 몇 가지 결함이 있습니다. 프로세스 지향 환경의 경우 이러한 환경이 그 자체로 적절한 지 의심 스럽지만 아마도 더 적절할 것입니다. 아마도 군사, 우주 또는 의료 소프트웨어에서는 모르겠습니다. 어쨌든 저는 이러한 도메인에도 적절하고 더 친숙한 도구가 있다고 생각합니다.

기술적으로 가능한 VCS 외에도 CC에는 몇 가지 고유 한 장점이 있습니다.

  • 동적보기
  • 멋진 버전 트리
  • 트리거
  • 이름 변경을 포함한 좋은 병합 버전 관리

제 생각에는 마지막 사용을 제외하고는 사용이 제한되어 있습니다. 그리고 그들은 결점을 보상하지 않습니다. 이론 상으로는 좋지만 실제로 항상 사용할 수있는 것은 아닙니다. 버전 트리는 다른 VCS에서 훨씬 덜 사용되지만 CC에서는 분기가 확산되어 필요합니다 (6 참조). 내가 아는 것처럼 트리거는 매우 상세하고 유능하지만 대부분의 실용적인 작업에는 SVN 후크가 충분하다고 생각합니다. 이제 주로 사용 성과 관련된 단점에 대해 설명합니다.

  • CC는 개발자를위한 기본 사용자 그룹의 유용성 측면에서 완전히 실패합니다. 이것이 기업이든 아니든 어떤 환경에서도 사용해서는 안된다고 생각하는 주된 이유입니다. 무료이더라도 개발자의 시간을 낭비하고 실망시켜 회사의 돈을 앗아 갈 것입니다. 이 포인트는 다음으로 구성됩니다.
    1. 엄격한 잠금 접근 방식을 사용하는 "체크 아웃-체크인"-여러 개발자를위한 단일 개발 분기를 사용하는 저장소 조직에서 비생산적이며 비우호적이며 위험합니다. 한편, 엄격한 잠금의 장점은 무시할 수 있습니다.
    2. 성능 저하 및 고부하
    3. 다중 사이트 없이는 원격으로 효과적으로 사용할 수 없습니다 (2 개로 인해). 다중 사이트도 비용이 많이 듭니다. ClearCase Remote 클라이언트는 매우 제한적입니다. cleartool동적 뷰만 남겨두고 7.1 버전 이전 에는 없습니다 .
    4. 오프라인에서는 거의 사용할 수 없습니다. 동적 뷰는 작동하지 않습니다. 저장소에 액세스하지 않고는 체크 아웃 할 수 없기 때문에 스냅 샷보기는 효과적으로 읽기 전용입니다 (1 참조). Hijack은 좋지 않은 옵션이며 실제로 CC는 도용 된 파일에 대한 책임을 포기합니다. 그리고 CC는 오프라인 상태에서 이전 버전과의 차이점을 보여줄 수 없습니다. SVN은 오프라인 상태에서도 이전 버전과의 차이점을 보여줄 수 있습니다.
    5. 특히 UCM의 경우 지나치게 복잡한 모델 : VOB, PVOB, 프로젝트, 스트림, 분기,보기, 전달, 업데이트,로드, 복원, 리베이스, 병합, 기준선, 체크인, 체크 아웃. 이 개념의 절반은 불필요하고 가치를 추가하지 않는 동시에 기술적 복잡성과 개념적 복잡성을 모두 증가 시킨다고 생각합니다. CC에 대한 기본적인 내용조차 이해하는 개발자는 거의 없습니다.
    6. 가지의 확산. 예를 들어, 저장소는 종종 개발자 당 스트림으로 구성됩니다 (1 개로 인해). SVN 또는 대부분의 다른 VCS에서는 의미가 없습니다.
    7. 저장소 전체 개정이 없습니다. 글쎄, 이해와 같은 수정 사항이 있습니다. 그러나 일부 파일 개정을보고 해당 파일 개정의 순간에 저장소 스냅 샷을 얻으려면 몇 가지 문제가 발생합니다. 스냅 샷보기를 만들거나 사용 가능한 경우 동적보기를 통해 어떻게 든 찾아 내려면 구성 사양으로 흑 마법을 수행해야합니다.
    8. 엉뚱한 사용자 GUI. 버전 트리는 멋지더라도 그다지 유용하지 않습니다. 병합 도구는 유감입니다. 기타 "기능": 크기 조정이 불가능한 창, 일부 위치에서 증분 검색 부재, 마우스 중심 인터페이스, 1995 스타일의 룩앤필, 클라이언트와 프로젝트 탐색기간에 분산 된 이상한 작업 흐름 등.
    9. CC는 드물고 방대한 체크인을 유발합니다. 체크인은 작고 빈번 해야합니다 . 그러나 개발자는 일반적으로 CC와의 추가 상호 작용을 자제하고 파일을 가로 채고 로컬 VCS에서 작업하거나 심지어 VCS없이 작업합니다 (더 자주, 안타깝게도). 그런 다음 개발 2 주 후에는 20 개의 파일을 추가하고 다른 20 개의 파일에 영향을주는 comlex 기능을 커밋하기 시작합니다. 파일을 탈취하고 이제 저장소의 모든 새로운 변경 사항과 수동 병합을 수행하고 모든 충돌 및 불일치를 해결해야하므로 하루나 이틀 동안 지속됩니다. 이 과정에서 여러 파일이 성공적으로 체크인되고 다른 파일은 그렇지 않기 때문에 코드는 컴파일 할 수 없습니다. 그리고 CC에 다른 2 개의 파일을 추가하는 것을 잊었 기 때문에 여전히 컴파일 할 수 없습니다.
  • 아주 비싸요
  • 인프라 측면에서 매우 복잡하며 전담 관리자가 필요합니다.

ClearCase는 외부에서 보면 매우 강력 해 보입니다. 하지만 실제로는 기본 워크 플로에 사용해야하는 명령과 옵션의 수가 너무 많아서 몇 가지 별칭이나 스크립트 뒤에 숨겨져 Visual Source의 유용성과 함께 CVS보다 덜 강력한 무언가를 얻게됩니다. 안전한. 그리고 스크립트가 허용하는 것보다 조금 더 복잡한 일을하고 싶을 때마다 배가 아프다.

이것을 외부에서 보면 복잡해 보이는 Git과 비교해 보면, 일주일이 지나면 완전히 제어 할 수 있다고 느낍니다. 리포지토리 모델은 이해하기 쉽고 매우 강력합니다. 너트와 볼트에 쉽게 접근 할 수 있기 때문에 실제로 일상 작업 흐름의 표면을 파헤치는 것이 즐겁습니다.

예를 들어, 스냅 샷보기에서 파일의 HEAD가 아닌 버전을 보는 방법과 같은 사소한 작업을 파악하는 데는 몇 시간이 걸렸고 결국 에는 완전한 해킹 이었습니다. 즐거운 해킹도 아닙니다.

그러나 Git에서 대화식으로 일부 변경 사항 만 커밋하고 나머지는 나중에 남겨 두는 방법과 같이 복잡해 보이는 작업을 파악하는 것은 매우 재미 있었고, 항상 VCS를 통해 코드를 구성 할 수 있다는 느낌이 들었습니다. 역사는 우리가 VCS를 사용하는 방식의 우연이 아니라 저에게 맞는 방식으로 역사를 만듭니다. "Git은 '당신이 가져야한다'고 말할 필요가 없다는 것을 의미합니다 . "

제 작업에서는 ClearCase 내에서도 모든 종류의 경량 작업에 Git을 사용합니다. 예를 들어, 저는 TDD를하고, 여러 테스트가 통과하고 리팩토링을 할 때마다 Git을 사용합니다. 작업이 결국 완료되면 ClearCase에 체크인하고 Git은 내가 변경하는 내용을 정확히 검토하도록 도와줍니다. ClearCase를 사용하여 두 개의 파일에 대한 차이점을 생성하십시오. 불가능합니다! Google을 사용하여 사람들이이 문제를 해결하기 위해 시도한 다양한 해킹을 찾아보세요. 이것은 버전 관리가 즉시 수행해야하는 작업이며 쉬울 것입니다! CVS는 수십 년 동안 이것을 가지고 있습니다!


  • 안전한 환경에서 관리하는 데 악몽
  • 오래된 기술
  • 직관적이지 않은 GUI
  • 비싼
  • 자원 괴물
  • Microsoft에 매진

제 생각에는? 그것을 가질 유일한 이유? 종교적으로 RUP를 따르는 경우.


지원은 끔찍합니다. 우리는 몇 년 동안 티켓을 열었습니다. 우리의 이클립스 전문가는 자바 파일을 분해하여 약 30 분 만에 이클립스 플러그인의 버그를 실제로 수정했습니다. 그러나 티켓은 여전히 ​​레벨 1 지원을받지 못했습니다. 종종 그들은 그것을 몰래 닫거나 '최신 버전을 시도하기 위해'우리에게 다시 핑을 시도합니다 (우리가 그들 스스로 시도 할 수있는 복제 레시피를 보냈음에도 불구하고).

바지선 막대를 만지지 마십시오.


공연.

ClearCase는 강력하고 안정적이지만 (적절하게 유지 관리하고 감독하는 경우) 느립니다. 때때로 지질학.

동적 뷰 뷰는 끔찍한 빌드 시간으로 이어지고, 스냅 샷 뷰는 업데이트 (대규모 프로젝트의 경우 점심 시간) 또는 체크 아웃 (하루 집으로 이동)에 오래 걸릴 수 있습니다.


Clearcase는 너무 짜증나서 실제로 사람들이 그것에 대해시를 쓰도록 유도합니다.

http://digital-compulsion.blogspot.com/2007/01/poetic-pathetic-version-control.html

http://grahamis.com/blog/2007/01/24/if-it-was-free-no-one-would-download-it/


  • The developers will spend 1/2 their time figuring out clearcase before doing any work and once they've figured it out they'll install git locally and only push to the clearcase repo as needed.

  • You'll have to employ a dedicated Clearcase admin.


I would suggest SVN for toolset and Git for scaling/workflow. I'd also suggest avoiding CC where possible. (Not counting money, the fact it is such a pain to use that is requires a full time admin is a total joke)


I recently had to wrangle with a similar situation. Maybe you can learn from my story.

The team I was newly assigned to was using a heavyweight tool in an convoluted, error-prone manner. I first attempted to sell them on my tools and processes of choice. This attempt failed miserably. I was flabbergasted that they would pick such a burdensome environment over one that was both easier and more effective. Turns out that they wanted to be disciplined, and using a painful process felt disciplined to them. It sounds wierd, but it's true. They had a lot of other misconceptions too. After I figured out what they were after, we actually stuck with the same tool suite (Serena), but massively changed how it was configured.

My advice to you is to figure out what matters to your team. Ripping on ClearCase won't get you anywhere unless you speak to their interests. Also, find out why they don't want to use alternatives. Basically do a little requirements gathering and fit your tool choices to your needs. Depending on your options, who knows, Clear Case may end up being the best option after all.


I'm not totally against ClearCase ( it does have it's advantages ), but to list out the disadvantages:

  • License Limitations - I can't easily work from home, because I don't have access to the license server. Even with a snapshot view on my laptop I have to play tricks because I can't get a license. There is a special remote client, but adds tons of its own limitations to the mix
  • License Limitations again - Only so many seats to go around, and then no one can use it.
  • Unix tools out of date - ClearCase seems to run best on Unix systems, but the GUI tools suck there. Windows/Unix integration of ClearCase introduces all sorts of its own pains.

The biggest downfall for me is both the performance (especially if your VOB is multisite or offsite), and potentially lengthy downtimes.

If you're like me and work in a relatively small office as part of a large company (with no onsite IT), Clearcase servers going down can cost you the better part of a workday in non-productivity as well as getting the right people to get it fixed.

Bottom line, use it only if you really need it for what you are doing and make sure you have a beefy IT budget to maintain it.


ClearCase is perfectly usable if your willing to also use another version control system on top of it! personally I find using mercurial ontop of CC to work quite well.


  1. no atomic checkins

As of the new version of version 7.1 CC provides atomic checkin as functionality IF you like that. Personally I would really not want it but apparently some people see that as "an essential feature". I NEVER would want one big bulk in one go as a sort of massive version. Then again... if you want it just turn it on.

so... no longer an argument.


We used UCM ClearCase integrated with ClearQuest (DR Tracking/change request system) for the last 4 years with more than 50 developers. We have over 50 UCM projects over thousand of streams that handled over 35K DRs and change requests. During this period we have officially made over 600 integration deliveries and while having up to 6 concurrent development and release efforts.

I am the main CM/ClearCase guy with a backup who is able to perform the regular delivery/merge and integration builds. The network and servers are supported by the IT team. All I can say is we have had virtually no problems coming from the CM side of this huge development effort and were never a show stopper. Our developers where trained with just the basic stuff and a simple steps were given to them whenever a new project (branch) was created at the request from the project management.

Too many developer complained about ClearCase because they lack the proper CM/IT/ClearCase/Process/Management support. Developers should focus on development not SCM or be a tool specialist. For a large software development, at least 5-7% of the budget should be spent on CM and tool support.


Running a JDK from a VOB in Linux.

Try it, you need to play with the LD_PRELOAD variable (I know!)


the point of "it needs a dedicated person" and "it is complicated" etc....

The core issue here with finding this a problem is that you have to define if you want to have configuration management performed in your organization (which is NOT version management). Configuration Management is like Project Management: even without a tool you still can do project managment and without a tool you can do Configuration Management. Lots of people have a hard time understanding this and lots of people think Configuration Management is equal to a tool which versions sources of software or something...... (therefore comparisons with subversions or other VERSION management systems)

ClearCase is a solution that is build for usage in a Configuration Management environment ERGO: there is a configuration manager (just like "there is a project manager").

So... if in your perception that dedicated person is there to manage a tool I think there is something very wrong. In my perception there is a dedicated person who does configuration management who from an end-user perpective only shows up when there is a problem with the tool but regards this as only 1% of his job.

So what you need to do (like in any other software project) go back to your requirements and put a list of requirements together on what your organisation wants with configuration management. AND YES like in any other software project you will have users (like e.g. developers) who totally not agree with other users (like e.g. management) on certain requirements. There lies the key imho on some reactions I read here.

And IMHO if you have the organization list of requirements AND a configuration manager in the mix.... the choice is pretty clear (see also the forum on www.cmcrossroads.com)

ClearCase is not a tool only for end-users entering their sources under version control like subversion or git. That is only 1% of why a configuration manager really wants a mature configuration management tool.

And... I think the choice of a CM system should never lay with developers equal to choosing the right project management tool or the right CRM system. Developers are end-users of a certain part of the functionality of the tool.


I will be maybe alone here, but ClearCase is not that bad as everyone says. It can handle huge repositeories. Dynamic view are pretty cool and powerful feature too. It is reliable, can be customized by adding triggers and constraints on a pef file basis, permissions, etc.

Unfortunatelly, it comes with a price, big price. It is costly, and to operate properly needs to be properly configured and maintained by dedicated IT team. It makes it really good for BigCo, but not so wise choice for SmallFirm.

I'm a big fan of DVCS and git, but can understand why would BigCo choose ClearCase over SVN and Git. What I can't understand why would anyone choose SVN over Git ;>


Dynamic Views. Must admire a fully functional translucent file system.

One big benefit is that the Intellectual Property is always in the corporate network. A laptop can be lost/stolen and no source code in jeopardy.

Another is the instant access to source code and changed files, no time is ever spent downloading anything.

It serves well for the purpose it has.

참고URL : https://stackoverflow.com/questions/1074580/clearcase-advantages-disadvantages

반응형