문제

우리 팀은 몇 년 동안 SVN을 사용해 왔습니다. 이제 Perforce로 전환 할 수있는 옵션이 있습니다.

그러한 스위치를 만드는 것의 이점 (및 함정)은 무엇입니까?

도움이 되었습니까?

해결책

  • P4는 서버에서 작업 사본을 추적합니다. 이것은 그것을 의미합니다
    1. 대형 작업 사본이 훨씬 빠르게 처리됩니다. 나는 큰 SVN 프로젝트를 가지고 있었고 간단한 업데이트는 로컬 작업 사본 (수천 개의 폴더)의 트리를 만들어야했기 때문에 15 분이 걸렸습니다. 파일 액세스는 느립니다. P4는 데이터베이스에 작업 사본에 대한 정보를 저장하므로 모든 작업은 항상 거의 불완전했습니다.
    2. 파일을 엉망으로 만들고 서버에 알리지 않으면 문제가 발생합니다! 파일 만 삭제할 수 없습니다. 서버가 알 수 있도록 P4 클라이언트로 파일을 삭제해야합니다. 로컬에서 파일을 삭제하면 서버가 이미 가지고 있다고 생각하기 때문에 연속 업데이트에서 다시 다운로드되지 않습니다! 이런 일이 많이 발생하고 결국 동기화되지 않았을 때, 나는 보통 현지 사본을 청소하고 다시 다운로드하는 데 의지해야했는데, 이는 시간이 많이 걸릴 수있었습니다. 너 ~ 해야 하다 이것에주의하십시오.
  • Explorer Shell Extension Client (TorgoisesVN 생각)는 빨라지고 완전히 사용할 수 없습니다.
  • 최고의 기능을 제공하는 두 가지 GUI 클라이언트 응용 프로그램이 있습니다 : P4WIN 및 P4V 중 P4V는 더 새롭고 사용하기 쉽지만 기능이 풍부하지는 않습니다.
  • 비주얼 스튜디오와 이클립스 플러그인이 있으며, 고급 기능이 많지는 않지만 비교적 잘 작동합니다.
  • 일반적으로 P4는 SVN보다 훨씬 적은 기능을 제공하며 때로는 완전히 혼란 스럽습니다.
  • 작업 사본 정의는 훌륭하고 유연했습니다. P4가 여기서 SVN보다 우수하다고 생각합니다. 복사 폴더 작업 마스크를 정의하고 모든 종류의 기괴한 트리를 만들 수 있으므로 여러 체크 아웃으로 수동으로 FUTZ없이 원하는 위치에 정확하게 원하는 것만 다운로드 할 수 있습니다. 이것은 서버에 기가 바이트의 물건을 가지고 있었을 때 매우 편리하고 특정 하위 집합 만 원했습니다. 나는 훨씬 더 번거 로움으로 비슷한 상황에서 SVN을 사용했습니다.
  • P4 아래 분기는 ... 홀수입니다. 분기 세트와 다른 종류의 분기 및 혼란스러운 UI. 불행히도 이것에 대한 많은 세부 사항을 기억하지 못합니다.

그 외에는 꽤 표준입니다.

거대한 코드베이스를 다루거나 파일 시스템을 쓰러 뜨리는 .SVN 폴더를 싫어하지 않는 한 SVN을 유지하는 것이 좋습니다. SVN+TortoisesVN은 대부분의 상황에서 훨씬 더 편안합니다.

다른 팁

나는 현재 다른 프로젝트에서 두 가지를 모두 사용하고 있습니다.

  • 천공 분기 메커니즘이 우수합니다.
  • Perforce Conflict Resolve 도구가 더 좋습니다.
  • 나는 Perforce의 Changelist에 대한 강한 개념을 정말 좋아합니다.
  • 성능이 더 빠릅니다.
  • 설정하고 달리기가 더 쉽습니다.
  • 우리 회원 중 일부는 Perforce 용 MS Office 플러그인을 정말 좋아합니다. 저는 Mac에 있으므로 사용할 수 없습니다.

하지만

  • SVN 클라이언트, 특히 Eclipse 플러그인이 더 좋습니다.
  • 성능은 더 비쌉니다.

이것들은 단지 의견 일뿐입니다. 아마도 이것은 아마도 가난한 대답 일 것입니다 :)

내가 이미 하나 또는 다른 것을 사용하고 있다면, 다른 사람보다 실제로 큰 이점을 제공하지는 않지만 전환의 중단이 클 수 있기 때문에 전환하기가 매우 어려울 것입니다.

업데이트 :이 글을 작성한 이후, 나는 개인 및 상업적 목적으로 GIT 사용으로 완전히 전환했습니다. 나는 어느 날 SVN 또는 Perforce를 선택할 것입니다.

팀이 GIT를 평가 했습니까? Perforce에서 사용할 수있는 기능과 유사하지만 무료입니다 (Foss).

둘 중 하나는 대규모 팀과 함께 일할 때 SVN에 대한 훌륭한 대안입니다.

나는 직장에서 Perforce를 사용하고 집에서 SVN을 사용합니다.

Perforce Gui는 꽤 좋지만 일단 익숙해지면 만 있습니다. 비 프로그래머가 Perforce를 사용하기 시작하면 개념을 얻을 때까지 일반적으로 시간이 걸립니다.

거북이는 굉장하고 사용하기가 매우 쉽습니다. 내 변호사 아내는 그것을 사용하여 그녀의 모든 문서를 제압합니다.)

분기는 쉽게 분기됩니다. 사실 너무 쉽게 사람들은 너무 많은 이유가 없어서 분기합니다. 그런 다음 분기 되었기 때문에 통합됩니다. 그것은 당신이하는 유일한 일이 될 수 있습니다.

SVN은 더 많은 제품에 통합되어 있습니다. 내가 사용하는 최소한 더 많은 제품. 개발 환경 외부의 eithere를 사용해야한다면 둘 다 클라크가 발생하기 때문에 큰 이점이 있습니다.

가끔씩 우리는 지역 사본이 최신 상태라고 생각하지만 그렇지 않은 Perforce에 문제가 있습니다. 그런 다음 Synce를 강제로 강제로 한 다음 여전히 좋지 않은 경우 로컬 파일을 삭제하고 재 동기화하십시오. SVN과 같은 문제가 없었습니다. 당신이 오래된 사본을 연구하고 있다는 것을 모르기 때문에 이것은 실제로 큰 문제입니다.

생각해야 할 또 다른 것은 왜 변화하고 싶은지입니다. 당신이 작동하는 시스템이 있고 모든 사람들이 그것에 익숙하고 그것에 만족하는 시스템을 가지고 있다면, 왜 그것을 대체합니까?

Perforce 웹 사이트에는 두 가지를 비교하는 논문이 있습니다.P4 대 SVN

분명히, 출처를 감안할 때, 당신은 그것이 SVN에 대한 성능의 장점을 강조한다는 것을 알아야하지만 여전히 유용한 읽기입니다. 당신은 결코 알지 못합니다. 혜택 중 하나는 팀이 자신의 고유 한 상황을 감안할 수있는 킬러 아이템 일 수 있습니다.

나는 이미 다른 답변으로 이미 다루는 여러 가지 이유로 Perforce를 추천 할 것이지만, 실제로 그것을 사용한 적이없는 SVN과 비교할 수있는 위치에 있지는 않습니다.

적절한 분기와 분기를 만들기 네임 스페이스의 일부는 Perforce에서 볼 수있는 가장 큰 이점입니다. 병합은 쉽습니다. 나는 전복에서 멀어 질 때 단점이 없다.

나는 그것을 시도하기 위해 SVN을 많이 사용하지 않았다. 나는 약 3 년 동안 Perforce를 사용했습니다. 나는 그것이 훌륭하다고 생각했다. 고객 서비스는 훌륭하고 매우 빠르며 Err는 단지 내가 멍청한 것으로 판명되었으며, 내가 제안한 기능을 구현했습니다.

다른 개발자, 특히 그것을 사용해야하는 비 개발자는 특히 클라이언트 스펙 (서버의 폴더 맵)을 정의 할 때 사용하는 것이 약간 까다로워졌습니다.

나는 파일을 빠르게 가져오고 빠르게 받아들이고 매우 신뢰할 수 있다는 것을 알았습니다. 나는 우리가 익숙해지면 내가 함께 일한 대부분의 개발자들이 정말로 그것을 좋아했다고 생각합니다. 우리는 전환하기 전에 Visual Source Safe를 사용하고 있었기 때문에 거의 모든 것이 그보다 더 낫습니다.

단점, 비용이 많이 듭니다. 나는 SVN이 매우 좋은 시스템이라고 생각합니다. SVN은 무료이므로, 특히 Perforce가 배우는 데 시간이 걸리기 때문에 전환해야 할 강력한 이유가 있어야한다고 생각합니다. SVN이 당신을 위해 일을하고 있고 당신이 그것에 대한 불만이 없다면, 나는 당신이 그것에 머물면서 비오는 날을 위해 돈을 저축하는 것이 좋습니다!

나는 둘 다 사용했고, 내 경험상 Perforce는 당신이 큰 팀 및/또는 코드베이스를 가지고 있다면 많은 의미가 있습니다. 그렇지 않으면 SVN을 선택합니다. 설정하고 유지 관리하는 것이 더 쉽습니다.

원한다면 오프라인에서 오프라인을 편집 할 수 있습니다. WorksApce는 파일이 읽기 있거나 쓸 수 있는지 여부를 정의하므로 모두 쓰기 가능하게 만들고 해킹 한 다음 Perforce를 요청하여 체크인해야 할 사항을 파악할 수 있습니다.

파일을 읽을 수 있고 필요한 것을 확인하는 것이 좋습니다.

귀하를위한 더 나은 시스템은 요구 사항이 무엇인지에 따라 다릅니다. 요구 사항이 없다면 성과가 승리합니다.

누가 전복을 사용합니까? 소규모 비상업 팀이 저렴하거나 소규모 상업 팀

누가 Perforce를 사용합니까? Google 소니 삼성 Nvidia Symantec

최근 버전에서 Perforce는 새로운 기능이 있습니다. 선반 변화:

Shelving은 Changelist를 제출하지 않고 Perforce 서버에 진행중인 작업을 일시적으로 저장하는 과정입니다. 선반은 여러 개발 작업 (예 : 우선 순위가 높은 작업의 중단, 동일한 플랫폼에서 테스트)을 수행하거나 동일한 파일 세트에서 작업을 수행하기 전에 코드 검토를 위해 파일을 공유해야 할 때 유용합니다.

이것은 멀티 태스킹이 필요할 때 한 지역 지점에서 다른 지점으로 쉽게 전환 할 수있는 Git의 분기 모델과 유사합니다.

Afaik, Subversion은 비슷한 기능이 없습니다.

Perforce 블로그에 대한 자세한 정보.

Perforce를 사용하면 서버가 클라이언트를 소유 할 수 있습니다.

Perforce 서버는 할 수 있습니다 클라이언트에서 임의의 파일을 읽고 쓰고, 따라서 임의의 코드를 실행하십시오. Perforce 구성은 모두 서버 측이므로 서버는 단순히 클라이언트 컴퓨터의 전체 하드 디스크를 리포지토리로 처리하고 수행 할 수 있습니다. 그것이 무엇이든 원했던 것.

Selinux 샌드 박스를 제외하고는 절대 실행하지 마십시오.

기억하십시오 : Perforce 클라이언트는 서버의 꼭두각시입니다. 운영 체제의 보안 기능을 사용하여 원하지 않는 작업을 수행하지 못하게해야합니다. 항상 Perforce Client를 적대적인 것으로 취급하십시오.

내가 기억 하듯이 좌석 수가 올라 가면서 Perforce 라이센스는 비용이 떨어집니다. 따라서 좌석 당 900 달러가 아닙니다. 서버 기반 라이센스이기도합니다. 당신은 그것을 사용하는 머신 클라이언트가 아닌 그것을 사용하는 총 인간 개발자 수를 지불합니다. 따라서 200 명으로 구성된 상점이라면 200 명의 좌석 라이센스를 사용하면 집에서도 Perforce를 사용할 수 있습니다.

제 생각에는 이유#1 SVN과 Perforce 사이를 선택합니다 비용.

작은 리포지토리 : SVN은 그 일을 잘하고 무료로 수행합니다.

저장소 : SVN을 사용하는 것은 치명적입니다. http://yoawsconsult.blogspot.com/2009/05/whenwhy-you-cant-afford-to-use.html. Perforce는 큰 저장소를 수행 할 수 있지만, 비용을 지불하고 알아야합니다.

내 연습에서 :

  • 소프트웨어 배포판과 같은 거대한 Blob 파일도 저장하도록 설계된 Perforce는 모든 데이터를 텍스트로 저장합니다. SVN에 이러한 이진 데이터를 효과적으로 저장하는 것은 불가능합니다.

  • Perforce는 "Shelve Changes"와 같은 유용한 것을 지원합니다. 사용자는 Perforce에게 Perforce 서버의 "패치"처럼 변경을 저장하도록 요청했습니다. 그런 다음 다른 사용자는 저자가 요청하면 변경 사항을 검토 할 수 있습니다. SVN은 그것을 지원하지 않습니다

  • SVN Command Line 형식은 이해하고 기억하기가 더 쉽고 매일 사용합니다.

  • SVN은 무료입니다

  • "git"및 "SVN"에서 Repo에서 파일을 수신 한 후 로컬 파일 시스템에서 파일을 편집하여 직접 변경합니다. Perforce에서 "올바른"파일 작업 방법은 파일과 함께 일할 것임을 표시하는 것입니다 (P4 Edit) .... 이론적으로 다른 사람이 볼 수있게 될 것입니다. 실제로는 편안하지 않습니다.

  • Perforce Client Workspace 로컬 시스템에서 준비 해야하는 추가 구성으로 인해 SVN이 필요합니다.

exlorer에서 Tortoisesvn을 통해 모든 것을 할 수 있다는 것은 매우 편안합니다! 따라서 P4 확장도 설치되어 있습니다. 그러나 그것은 실제로 그렇게 정교하지 않습니다!

반면에 P4 클라이언트는 서버 저장소에 대한 액세스 가능한보기를 제공하므로 전체 체크 아웃없이 작동 할 수 있습니다. 이것은 TSVN 만 SVN 시절에 항상 약간 번거로운 느낌이 들었습니다.

이것을 말하면 상단 포스터 의견을 이해할 수 없습니다.

  • Explorer Shell Extension Client (TorgoisesVN 생각)는 빨라지고 완전히 사용할 수 없습니다.

Foss tortoisesvn은 훌륭합니다! (아이콘이 각 기계마다 약간 어리 석고 다르게 작동했지만 ..)

거북이와 함께 :

  • 기능을 재정렬 할 수 있습니다
    • 'Get Lock ..'전면을 가져 오려면 예를 들어
  • 실제로 탐색기의 모든 기능에 액세스 할 수 있습니다
  • 쉘 메뉴에 아이콘이 있습니다
  • 업데이트에 대해 알림을받습니다

서브 버전에 대한 Perforce의 단점 중 하나는 SVN의 내보내기 명령입니다. 일부 버전의 코드를 어디서나 내보내거나 다운로드하는 것이 더 쉽습니다. 이를 위해 작업 공간을 만들 필요가 없습니다. 그러나 Perforce에서는 버전 ED 코드를 작업 공간에만 가져올 수 있습니다.

사용의 주요 이점 파괴 Perforce는 제 생각에 있습니다 오프라인으로 항목을 편집하는 기능 동시에 동료들과 동시에.

데이터 인프라가 느슨하게 결합 된 경우 (오프라인 시간이 있음) SVN은 암석입니다. 서버에 도달 할 수 없어도 많은 일을 할 수 있습니다. Perforce는 본질적으로 항상 사용할 수있는 서버 연결이 필요합니다.

면책 조항 : Perforce에 대한 나의 정보는 오래되었고, SVN으로 완전히 전환하기 전에 2005-06 년에 잠시 동안 사용했습니다.

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