Perforce (상업 / 폐쇄 소스, 중앙 집중식)는 여러 가지 이유로 업계 표준입니다.
- 상용 제품이므로 상용 지원이 제공됩니다. 오픈 소스 프로젝트는 기술 지원을 제외한 무료 라이센스를받을 수 있습니다.
- 작업 공간을 매우 잘 지원 하므로 매우 유연한 소스 및 자산 디렉토리 레이아웃이 가능합니다.
- 변경 목록을 매우 잘 지원합니다 .
- 누가 무엇을하고 있는지 볼 수 있습니다. 게임은 다른 개발 프로젝트에 비해 비정상적으로 많은 수의 빠르게 변화하는 이진 파일 (자산)이 있습니다. 대부분의 경우 병합 할 수 없으므로 누가 언제 / 어디서 / 중요한지를 가진 사람을 추적합니다. Subversion 및 DSCC 클라이언트는 의도적으로이 기술을 사용하지 않지만 특정 응용 프로그램에서는 매우 유용합니다.
- 거대한 코드 / 자산 기반을 지원합니다 . 클라이언트 시스템에 중복 데이터를 저장 하지 않습니다 . 이는 트리의 하위 뷰가 수십 기가 인 경우 중요합니다.
그러나 Perforce가 업계에서 자신의 위치가 위협 받고 있다고 느끼지 않는다는 것은 거의 매일 고통 스럽습니다. P4V 및 P4SCC (Visual Studio와 통합)를 포함한 시각적 도구는 느리고 버그가 많으며 후자는 Visual Studio를 완전히 즐기기 위해 고정하는 것으로 알려져 있습니다. AnkhSVN은 Perforce보다 훨씬 앞서 있습니다.
xan의 코멘트 : 그러나 그들의 병합 도구 인 P4Merge (확산 및 병합에 사용)가 우수하고 Tortoise Merge보다 훨씬 우수하다는 점은 주목할 가치가 있습니다. 놀랍게도이 구성 요소는 P4 Visual Tools 패키지의 일부로 무료로 제공됩니다.
slicedlime의 코멘트 : Perforce의 또 다른 단점은 특히 나무가 큰 경우 분기가 큰 고통을 겪는다는 것입니다. 거의 모든 다른 vc는 분기 및 병합에 더 좋습니다. 이것은 일반적으로 위의 장점을 지불하는 작은 가격입니다.
roe의 코멘트 : Perforce는 매우 수다 스럽습니다. 서버가 관여하지 않으면 많은 일이 일어나지 않습니다. 특히, 편집을 위해 개방하려면 서버가 필요합니다. 즉, 서버와의 연결을 끊으려면 몇 번의 후프를 뛰어 넘어야합니다.
jrista의 코멘트 : Perforce를 매일 2 년 이상 사용하고 있으며 100 명 이상의 개발 및 품질 엔지니어링 팀과 함께 친숙해졌습니다. 괜찮은 소스 제어 시스템이지만 SCC 시스템을 평가하는 사람들이 알아야 할 단점이 있습니다.
- 다른 사람들이 언급했듯이, 분기 / 통합은 특히 번거롭고 수행하기가 어렵습니다. 당신은 불경건 한 양의 통제력을 가지고 있지만, 과도한 복잡성을 초래합니다. 반대로, 시각적 병합 도구는 일종의 일종이며, 작업에 대한 아름다운 3 가지 파일 "기반"병합보기를 제공합니다. Perforce는 분기 경로의 일부 그래픽 시각화 (개정 그래프라고 함)를 제공하지만 시각화 방식으로 인해 도구가 다소 쓸모 없게됩니다. 하나 또는 매우 적은 파일에 대해 아주 작은 시간 세그먼트 만보아야하는 경우 유용 할 수 있습니다.
- Perforce는 또한 거의 모든 파일 작업에서 파일 및 데이터 복제가 필요하므로 분기, 레이블 지정, 변경 목록 등이 매우 효율적이지 않습니다. 여기에는 스파 스나 가벼운 태그 또는 분기가 없습니다. 변경 사항을 추적하기 위해 엄청난 양의 디스크 공간을 사용하는 것을 두려워하지 않는다면 perforce가 당신에게 잘 도움이 될 것입니다. 그렇지 않다면 다른 도구를 찾아 볼 것입니다.
- Perforce는 작업 공간을 사용하지만, 디스크의 실제 파일을 사용하여 일부 상태를 확인하는 대신 Perforce가 작업 공간의 모든 상태를 캐시하므로 시간이 지체 될 수 있습니다. 어떤 이유로 든 디스크의 실제 파일이 실제로 최신 상태가 아닌 경우 작업 공간에 파일이 최신 상태이므로 파일이 동기화되지 않는 경우가 종종 있습니다.
- 마지막 성가신 Perforce는 네트워크에서 다소 잔인합니다. 매우 수다스러운 프로그램이며 상당한 양의 대역폭을 소비합니다. 네트워크 연결이 끊어지면 연결이 복원 될 때까지 소스 제어 파일로 작업 할 수없는 위험이 높습니다. 현재로서는 Perforce에서 오프라인으로 수행 할 수있는 활동을 발견하지 못했습니다.