Perforce (komercyjny / zamknięty, scentralizowany) jest standardem branżowym z wielu powodów.
- Jest to produkt komercyjny, co oznacza, że ma wsparcie komercyjne. Projekty typu open source mogą kwalifikować się do bezpłatnej licencji (bez wsparcia technicznego).
- Bardzo dobrze obsługuje obszary robocze , co pozwala na bardzo elastyczne układy katalogów źródłowych i zasobów.
- Bardzo dobrze obsługuje listy zmian .
- Możesz zobaczyć, kto nad czym pracuje. Gry mają wyjątkowo wysoką liczbę szybko zmieniających się plików binarnych (zasobów) w porównaniu do innych projektów programistycznych. Przez większość czasu nie można ich łączyć, więc śledzenie, kto ma to, co / gdzie / kiedy ma krytyczne znaczenie. Klienci Subversion i DSCC celowo unikają tej techniki, ale jest ona dość korzystna w niektórych aplikacjach.
- Obsługuje gigantyczne bazy kodu / zasobów. To ma nie przechowywać zduplikowane dane na komputerach klienckich, co jest ważne, gdy sub-widok drzewa jest kilkadziesiąt koncertów.
To powiedziawszy, boleśnie oczywiste jest prawie codziennie, że Perforce nie uważa, że ich pozycja w branży jest zagrożona. Ich narzędzia wizualne, w tym P4V i P4SCC (zintegrowane z Visual Studio) są powolne i zawierają błędy, przy czym ten ostatni znany jest z tego, że zamraża Visual Studio, aby z niego korzystać. AnkhSVN wyprzedza Perforce o mile.
Komentarz Xana: Warto jednak zauważyć, że ich narzędzie do scalania, P4Merge (używane do różnicowania i łączenia), jest doskonałe i znacznie lepsze niż narzędzia Tortoise Merge. Zaskakujące jest to, że ten komponent jest dostępny bezpłatnie jako część pakietu narzędzi wizualnych P4.
Komentarz by slicedlime: Kolejną wadą Perforce jest to, że rozgałęzienie w nim może być ogromnym bólem, szczególnie jeśli masz duże drzewa. Prawie każdy inny vcs jest lepszy w rozgałęzianiu i scalaniu. Jest to zwykle niewielka cena za powyższe korzyści.
Komentarz roe: Perforce jest bardzo rozmowny. Bez zaangażowanego serwera niewiele się dzieje. Przede wszystkim potrzebujesz serwera, aby móc otwierać pliki do edycji, co oznacza, że musisz przeskoczyć kilka obręczy, jeśli zamierzasz przerwać połączenie z serwerem.
Komentarz jrista: Jako codzienny użytkownik Perforce od ponad dwóch lat, z rozbudowanym zespołem ds. Rozwoju i inżynierii jakości, liczącym ponad 100 osób, dobrze się z tym zapoznałem. Chociaż jest to przyzwoity system kontroli źródła, ma jednak swoje wady, które osoby oceniające systemy SCC powinny mieć świadomość:
- Jak wspomnieli inni, rozgałęzianie / integracja jest szczególnie uciążliwa i trudna do wykonania. Masz bezbożną kontrolę, ale wiąże się to z nadmierną złożonością. Z drugiej strony wizualne narzędzie scalania jest jedyne w swoim rodzaju i prezentuje piękny, oparty na trzech plikach widok scalania twojej pracy. Perforce zapewnia pewne graficzne wizualizacje ścieżek rozgałęzień (zwane Grafem rewizji), jednak sposób, w jaki jest wizualizowany, często sprawia, że narzędzie jest raczej bezużyteczne. Jeśli potrzebujesz tylko bardzo krótkiego odcinka czasu dla jednego lub bardzo niewielu plików, może to być przydatne ... cokolwiek więcej, a nawigacja na wykresie zmian jest prawie niemożliwa.
- Perforce nie jest również bardzo wydajnym narzędziem, ponieważ prawie każda operacja na pliku wymaga duplikowania plików i danych: rozgałęzianie, etykietowanie, listy zmian itp. Nie ma tu rzadkich lub lekkich znaczników ani rozgałęzień. Jeśli nie boisz się użyć ogromnej ilości miejsca na dysku do śledzenia twoich zmian, perforce prawdopodobnie będzie ci dobrze służyć. Jeśli nie, szukałbym innego narzędzia.
- Perforce korzysta z obszarów roboczych, jednak czasami może to być frustrujące, ponieważ perforce buforuje wszystkie stany w obszarze roboczym, zamiast używać rzeczywistych plików na dysku w celu ustalenia pewnego stanu. Często powoduje to, że pliki nie są synchronizowane, ponieważ obszar roboczy twierdzi, że są one aktualne, a z jakiegokolwiek powodu fizyczne pliki na dysku NIE są aktualne.
- Ostatnia irytacja, Perforce jest dość brutalny w twojej sieci. Jest to wyjątkowo gadatliwy program, który pochłania znaczną część przepustowości. Każda utrata łączności sieciowej, a Ty ryzykujesz, że nie będziesz w stanie wykonać żadnej pracy z plikami kontrolowanymi przez źródło, dopóki połączenie nie zostanie przywrócone. Do tej pory nie odkryłem działalności, którą można wykonać offline w Perforce.