Perforce – komercyjny, prawnie zastrzeżony system kontroli wersji opracowany przez Perforce Software Inc.
Architektura Serwer Perforce zarządza centralną bazą danych oraz głównym repozytorium wersji plików. Perforce obsługuje zarówno klienty Git, jak i klienty, którzy używają protokołu Perforce. Klient Git może komunikować się z serwerem Perforce poprzez SSH lub HTTPS, a aplikacje klienckie Perforce komunikują się z serwerem za pomocą TCP/IP, używając własnego protokołu RPC. Użytkownicy przekazują zmienione pliki w changelistach. Zmiany są wprowadzane poprzez atomowe transakcje.
Serwer Metadane
Baza danych Perforce jest bazą dedykowaną, prekonfigurowaną i instalowaną automatycznie wraz z systemem. Przechowuje powiązane z systemem metadane (stan pliku, atrybuty pliku, historia odgałęzień i mergów, changelisty, opisy zmian, użytkownicy, grupy, etykiety itd.). Pliki są identyfikowane poprzez przestrzeń nazw (np. poprzez nazwy plików neutralne względem systemu operacyjnego). Zawartość samego pliku nie jest przechowywana w bazie danych. W bazie danych przechowywane są skróty MD5 zawartości pliku, które mogą być użyte do weryfikacji integralności pliku.