Jakie są korzyści z używania Perforce zamiast Subversion?

Mój zespół używa SVN od kilku lat. Teraz mamy możliwość przejścia na Perforce.

Jakie byłyby korzyści (i pułapki)dokonania takiej zmiany?

Author: jfm3, 2008-10-01

17 answers

  • P4 śledzi Twoją kopię roboczą na serwerze. Oznacza to, że
    1. duże kopie robocze są przetwarzane znacznie szybciej. Kiedyś miałem duży projekt SVN i prosta aktualizacja trwała 15 minut, ponieważ musiał stworzyć drzewo lokalnej kopii roboczej (tysiące folderów). Dostęp do plików jest wolny. P4 przechowuje informacje o kopii roboczej w bazie danych, więc wszelkie operacje były zawsze niemal natychmiastowe.
    2. Jeśli zadzierasz ze swoimi plikami i nie powiesz serwer, masz kłopoty! Nie możesz po prostu usunąć pliku - musisz usunąć plik za pomocą klienta P4, aby serwer wiedział. Pamiętaj, że jeśli lokalnie usuniesz plik, nie zostanie on pobrany ponownie przy kolejnych aktualizacjach, ponieważ serwer uważa, że już go masz! Kiedy wiele z tego się stało i skończyło się szalenie bez synchronizacji, Zwykle musiałem uciekać się do czyszczenia mojej lokalnej kopii i pobierania jej ponownie, co może być czasochłonne. Ty musisz uważać na to.
  • Klient rozszerzenia powłoki Eksploratora (think TortoiseSVN) jest do bani i jest całkowicie bezużyteczny.
  • istnieją dwie aplikacje klienckie GUI, które oferują najlepszą funkcjonalność: P4Win i P4V, z których P4V jest nowszy i łatwiejszy w użyciu, ale nie jako bogaty w funkcje.
  • istnieją wtyczki Visual Studio i Eclipse, które działają stosunkowo dobrze, chociaż nie mają wielu zaawansowanych funkcji.
  • Ogólnie Rzecz Biorąc, P4 oferuje znacznie mniej funkcji niż SVN i jest czasami wręcz mylące.
  • Definicje kopii roboczej były ładne i elastyczne. Uważam, że P4 jest lepszy od SVN tutaj: możesz definiować maski dla folderów kopiujących i tworzyć różnego rodzaju dziwaczne drzewa, więc pobierasz tylko to, co chcesz, dokładnie tam, gdzie chcesz, bez konieczności ręcznego futz z wieloma kasami. Przydało mi się to, gdy miałem gigabajty rzeczy na serwerze i chciałem tylko określonego podzbioru. Używałem SVN w podobnej sytuacji z dużo więcej kłopoty.
  • rozgałęzienie pod P4 jest... dziwne. Rozgałęzienia i różne rodzaje gałęzi oraz mylący interfejs użytkownika. Niestety nie pamiętam zbyt wielu szczegółów na ten temat.

Poza tym, to dość standardowe.

Polecam zachować SVN chyba, że masz do czynienia z ogromnymi codebases lub nienawidzić .foldery svn zaśmiecają Twój system plików. SVN + TortoiseSVN jest o wiele bardziej komfortowy w większości sytuacji.

 49
Author: Sander,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-01 13:05:34

Obecnie używam obu w różnych projektach.

    Mechanizm rozgałęziania perforce ' a jest lepszy.
  • narzędzie rozwiązywania konfliktów perforce jest lepsze.
  • naprawdę podoba mi się mocne pojęcie perforce ' a o liście zmian.
  • Perforce wydaje się szybszy. Łatwiej jest skonfigurować i uruchomić.
  • Niektórzy z naszych członków naprawdę lubią wtyczkę MS Office dla perforce, jestem na komputerze Mac, więc nie mogę jej użyć.

Ale

  • klienci SVN są lepsi, szczególnie wtyczka eclipse.
  • Perforce jest droższy.

To są tylko opinie, więc być może jest to słaba odpowiedź:)

Gdybym już korzystał z jednego lub drugiego, ciężko byłoby mi się przełączyć, ponieważ żadne z nich wydaje się oferować naprawdę znaczące korzyści nad innymi, ale zakłócenia w przełączaniu mogą być duże.

Update: od czasu pisania tego, całkowicie przełączyłem się na używanie Gita zarówno do celów osobistych, jak i komercyjnych. Wybrałbym przez SVN lub Perforce lada dzień.

 43
Author: Marc Hughes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-26 19:44:42

Czy twój zespół ocenił Gita? Posiada funkcje analogiczne do tych dostępnych w Perforce, ale jest darmowy (FOSS).

Albo jest świetną alternatywą dla SVN podczas pracy z dużym zespołem.

 13
Author: Douglas F Shearer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-01 13:33:44

Używam perforce w pracy, svn w domu.

Interfejs graficzny perforce jest całkiem ładny, ale dopiero jak się do niego przyzwyczaisz. Na pewno ma krzywą uczenia się, gdy nie Programiści zaczynają używać perforce zwykle zajmuje trochę czasu, zanim otrzymają koncepcje.

Żółw jest niesamowity, jest bardzo łatwy w użyciu. Moja żona prawnika wywraca wszystkie dokumenty za jego pomocą;)

Rozgałęzianie jest łatwe w perforce. W rzeczywistości tak łatwe, że ludzie rozgałęziają się z niezbyt dużego powodu. Następnie integrujesz, ponieważ rozgałęziasz się. Może łatwo stać się jedyną rzeczą, którą robisz.

Svn jest zintegrowany z większą liczbą produktów. Przynajmniej więcej produktów, których używam. Jest to wielka zaleta, ponieważ jeśli musisz korzystać z zewnętrznego środowiska programistycznego, oba stają się niezgrabne.

Co jakiś czas mamy problemy z perforce, gdzie myśli, że Twoje lokalne kopie są aktualne, ale tak nie jest. Następnie musisz wymusić synchronizację, a jeśli nadal nie jest dobra, Usuń swoje lokalne pliki i resync. Nigdy nie miałem takich problemów z svn. Jest to w rzeczywistości ogromny problem, ponieważ nawet nie wiesz, że pracujesz nad Starą kopią.

Kolejną rzeczą do przemyślenia jest to, dlaczego chcesz się zmienić. Jeśli masz system, który działa i wszyscy są z nim zaznajomieni i zadowoleni, po co go wymieniać?

 5
Author: lajos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-01 15:11:48

Na Stronie Perforce mają referat porównujący dwa: P4 vs SVN

Oczywiście, biorąc pod uwagę źródło, musisz zdać sobie sprawę, że podkreśla zalety Perforce nad SVN, ale nadal jest to przydatna lektura. Nigdy nie wiadomo, jedną z korzyści może być zabójczy przedmiot, z którego twój zespół może skorzystać, biorąc pod uwagę twoje wyjątkowe okoliczności.

Z pewnością polecam Perforce z wielu powodów już omówionych w innych odpowiedziach, ale nie jestem w stanowisko do zaoferowania porównanie z SVN nigdy tak naprawdę nie używane.

 5
Author: Greg Whitfield,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-27 00:13:22

Właściwe rozgałęzienie i uczynienie gałęzi częścią przestrzeni nazw to największe korzyści, jakie widzę w Perforce. Łączenie jest łatwe. Nie widzę żadnych minusów w odejściu od Subversion.

 4
Author: janm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-01 13:01:14

Możesz edytować rzeczy offline w Perforce, jeśli chcesz. Twoje worksapce określa, czy pliki są do odczytu czy zapisu, więc możesz je wszystkie zapisać, zhakować, a następnie poprosić Perforce, aby dowiedzieć się, co należy sprawdzić.

Lepiej mieć pliki do odczytu i sprawdzić, czego potrzebujesz, aby inni (I ty) wiedzieli, co robiłeś / robiłeś.

Lepszy system dla Ciebie zależy od twoich wymagań, jeśli nie masz wymagań to Perforce wygrywa.

Kto używa Subversion? Małe zespoły niekomercyjne Tanie lub małe zespoły komercyjne

Kto używa Perforce? Google Sony Samsung nVidia Symantec

 3
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-30 11:39:10

Używałem SVN, nie dużo, tylko po to, aby go wypróbować. Używałem Perforce przez około trzy lata. Myślałem, że to było świetne. Obsługa klienta była genialna, bardzo szybko rozwiązała problem, który okazał się być po prostu głupi, a nawet zaimplementowali funkcję, którą zasugerowałem.

Niektórzy inni programiści, a zwłaszcza nie deweloperzy, którzy musieli go używać, uznali, że jest to trochę trudne do nauczenia się go używać, zwłaszcza jeśli chodzi o definiowanie specyfikacji klienta (mapy folderów na serwerze do lokalnych foldery).

Okazało się, że jest to bardzo szybkie, aby uzyskać pliki i z niego, i być bardzo wiarygodne. Myślę, że większość programistów, z którymi pracowałem, naprawdę to lubiła, gdy się do tego przyzwyczailiśmy. Przed zmianą używaliśmy Visual Source Safe, więc prawie wszystko jest lepsze.

Minusy, to kosztuje. Uważam, że SVN jest bardzo dobrym systemem, ponieważ SVN jest wolny, myślę, że trzeba mieć przekonujący powód, aby przełączyć zwłaszcza, że Perforce zajmuje trochę czasu, aby się nauczyć. If SVN robi to za Ciebie, a ty nie masz na to żadnych skarg, sugeruję, żebyś został z nim, i zaoszczędzić pieniądze na deszczowy dzień!

 2
Author: Scott Langham,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-01 13:08:35

Używałem obu i z mojego doświadczenia wynika, że Perforce ma duży sens, jeśli masz duży zespół i / lub bazę kodową; w przeciwnym razie wybrałbym SVN - łatwiej jest go skonfigurować i utrzymać.

 2
Author: Nemanja Trifunovic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-01 13:20:57

Od najnowszych wersji Perforce posiada nową funkcję dla regały zmiany :

Regały to proces tymczasowego przechowywania prac w toku na serwerze Perforce bez przesyłania listy zmian. Regały są przydatne, gdy musisz wykonać wiele zadań programistycznych (takich jak przerwy w pracy o wyższym priorytecie, testowanie na wielu platformach) na tym samym zestawie plików lub udostępnić pliki do przeglądu kodu przed zatwierdzeniem pracy do depot.

Jest to analagous do modelu rozgałęzień Gita, który pozwala bez wysiłku przełączać się z jednej lokalnej gałęzi do drugiej, gdy potrzebujesz wielozadaniowości.

AFAIK, Subversion nie ma podobnej funkcji.

Więcej informacji na blogu Perforce .

 2
Author: matt b,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-09 15:02:24

Perforce licensing slides in cost as number of seats goes up, as I remember. Więc to nie jest dokładnie $ 900 za miejsce. Jest to również licencja oparta na serwerze; płacisz za całkowitą liczbę programistów korzystających z niej, a nie za klienta używającego jej komputera. Tak więc, jeśli jesteś sklepem 200 osób, licencja na 200 miejsc pozwala im korzystać z perforce, nawet z domu.

 1
Author: Epu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-21 06:31:47

Moim zdaniem powodem#1 wyboru pomiędzy SVN i Perforce jest Koszt .

Małe repozytoria: SVN wykonuje swoją pracę dobrze i za darmo.

Duże repozytoria: używanie SVN jest fatalne: http://yoawsconsult.blogspot.com/2009/05/whenwhy-you-cant-afford-to-use.html . Perforce potrafi robić duże repozytoria, ale trzeba za to zapłacić i za poznanie.

 1
Author: user574894,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-13 21:39:18

Perforce pozwala serwerowi na posiadanie klienta.

Serwer Perforce może odczytywać i zapisywać dowolne pliki na kliencie, a tym samym wykonywać dowolny kod. Konfiguracja Perforce jest po stronie serwera, więc serwer mógł po prostu traktować cały dysk twardy komputera klienta jako repozytorium i robić cokolwiek chciał.

Nigdy nie uruchamiaj Perforce z wyjątkiem SELinux sandbox.

pamiętaj: klient Perforce jest marionetką serwera. Musisz użyć zabezpieczeń systemu operacyjnego, aby zapobiec zrobieniu czegoś, czego nie chcesz. Zawsze traktuj klienta Perforce jako wroga.

 1
Author: Demi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-20 05:29:52

Z mojej praktyki:

  • Perforce zaprojektowany do przechowywania dużych plików blob (jak dystrybucje oprogramowania), svn przechowuje wszystkie swoje dane jako tekst. Nie jest możliwe efektywne przechowywanie takich danych binarnych w svn

  • Perforce obsługuje przydatne rzeczy, takie jak"zmiany na półce". Użytkownik poprosił perforce o przechowywanie zmian jak "patch" na serwerze perforce. Inni użytkownicy mogą wtedy przeglądać zmiany, jeśli autor ich o to poprosi. Svn nie obsługuje tego

  • Format wiersza poleceń Svn to łatwiejsze do zrozumienia i zapamiętania oraz do codziennego użytku

  • Svn jest wolny

  • W "git" i " svn " edytujesz zmiany bezpośrednio poprzez edycję plików w lokalnym systemie plików po otrzymaniu plików z repo. W perforce "właściwym" sposobem pracy z plikami jest zaznaczenie, że będziesz z nimi pracować (edycja p4).... teoretycznie będzie można go obejrzeć, w praktyce nie jest to wygodne

  • Perforce client workspace przygotuj w swoim lokalny system potrzebuje więcej czasu niż svn ze względu na dodatkową konfigurację, która powinna być wykonana

 1
Author: bruziuz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-11 13:26:31

Jest w stanie zrobić wszystko tylko z exlorer przez TortoiseSVN czuje się bardzo komfortowo! Więc jest nawet zainstalowane rozszerzenie P4. Ale to naprawdę nie jest tak wyrafinowane!

Z drugiej strony klient P4 oferuje dostęp do repozytorium serwera, dzięki czemu można pracować bez pełnej kasy. To zawsze wydawało się trochę uciążliwe w dni SVN tylko z TSVN.

Mówiąc to nie rozumiem najlepszych plakatów komentarz:

  • The Explorer klient rozszerzenia powłoki (think TortoiseSVN) jest do bani i jest całkowicie bezużyteczny.

For FOSS TortoiseSVN is just great! (Nawet jeśli ikona działała trochę dziwacznie i inaczej na każdej maszynie..)

Z TortoiseSVN you:

  • może przestawiać funkcje
      / Align = "left" / ."front na przykład
  • mają dostęp do wszystkich funkcji z Eksploratora
  • mieć ikony w menu powłoki
  • są powiadamiani o aktualizacjach
  •  0
    Author: ewerybody,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2013-02-25 14:58:44

    Jedną z wad perforce przeciwko wersji sub jest polecenie export w svn. Łatwiej jest wyeksportować lub pobrać kod jakiejś wersji w dowolne miejsce. nie musisz tworzyć do tego obszaru roboczego. Ale w perforce możesz pobrać kod version-ed tylko do obszaru roboczego.

     0
    Author: shreyas_patel21,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2015-02-27 06:07:31

    Główną zaletą korzystania z subversionover Perforce jest moim zdaniem Możliwość edycji rzeczy off-line i jednocześnie z kolegami.

    Jeśli Infrastruktura danych jest luźno związana (jest czas off-line), svn rządzi. Możesz zrobić wiele, nawet jeśli serwer nie będzie dostępny. Perforce zasadniczo wymaga zawsze dostępnego połączenia z serwerem.

    Zastrzeżenie: moje informacje o Perforce są stare, używałem go przez jakiś czas w 2005-06, zanim w pełni przełączyłem się na svn

     -3
    Author: akauppi,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2008-10-01 13:40:15