Perforce 디포에서 개별 개발 브랜치를 만드는 데 사용할 수있는 방법의 장단점에 대한 피드백을 찾고 있습니다. 제가 올바르게 이해한다면, 이것을 처리 할 수있는 두 가지 방법이 있습니다. 첫 번째는 작업중인 분기의 전체 복사본 인 Private 분기를 만드는 것입니다. 지점은 완전히 독립하여 목표 지점에서 변경 사항을 완전히 분리합니다.퍼 포스 데브 브랜치 - 스파 스 브랜칭 대 사설 브랜치
내가 추천 한 다른 방법은 스파 스 분기입니다. 이것은 Practical Perforce (9 장, p.242)에 설명되어 있습니다. 이렇게하면 브랜치가 작성되지만 편집 할 필요가있는 파일 만 있습니다. 그런 다음 대상 분기 클라이언트보기를이 스파 스 (dev) 분기 클라이언트보기와 겹칩니다.
두 가지 방법 모두 프로그래머가 대상 분기에서 변경 사항을 가져 오기 위해 일부 통합 작업을 수행해야합니다. 사설 지회 (Private Branch) 방법은 전체 지부의 복사본을 만들기 위해 훨씬 더 많은 추가 메모리가 필요한 것처럼 보입니다. 그러나 Perforce 설명서에서는이 상황에서 "지연 복사"를 수행한다고 설명합니다.
또한 통합을 통해 PERFORCE는 파일의 "지연 복사"를 수행 할 수 있습니다. 파일을 분기 할 때 서버는 실제로 파일의 사본 두 개를 보유하지 않습니다. 단지 소스 파일을 보유하고 데이터베이스의 포인터는 대상 파일에 대한 분기가 발생했다는 사실을 기록합니다. Lazy 복사본은 분기 작업을 오버 헤드가 적은 작업으로 만듭니다. 서버는 파일의 중복 사본을 추적 할 필요가 없습니다. 이는 스파 스 브랜치 방법은 단지 예를 들어, 개발자는 그들이 스파 스 브랜치에 추가하지 않은 그 파일에 대한 작업을 시작할 수 있고, 같은 프로세스에 인적 오류의 가능성을 추가하는 것처럼 보일 수 있습니다
실수로 빌드를 손상시키는 대상 분기의 변경 사항을 업데이트하십시오. 그러나 Sparse 분기 기능은 이유가 있습니다. 왜 그것이 존재하고 왜 내가 완전한 사설 지사 (또는 그 반대)를 통해 사용해야하는지에 대한 피드백은 크게 감사 할 것입니다.
클라이언트 디스크 공간에 좋은 점. 내 기계에 TB의 공간이 있기 때문에 그것을 지적하는 것을 잊어 버렸지 만, 대부분의 경우 여전히 유효합니다. – Fostah