O Perforce (comercial / de código fechado, centralizado) é o padrão do setor por vários motivos.
- É um produto comercial, o que significa que vem com suporte comercial. Projetos de código aberto podem ser elegíveis para uma licença gratuita (menos o suporte técnico).
- Ele suporta áreas de trabalho muito bem , o que permite layouts de diretórios de fontes e ativos muito flexíveis.
- Ele suporta listas de alterações muito bem .
- Você pode ver quem está trabalhando em quê. Os jogos têm um número anormalmente alto de arquivos binários (ativos) que mudam rapidamente em comparação com outros projetos de desenvolvimento. Na maioria das vezes, eles não são mescláveis, portanto, acompanhar quem tem o que / onde / quando é fundamental. Os clientes do Subversion e DSCC evitam intencionalmente essa técnica, mas é bastante benéfico em certas aplicações.
- Ele suporta bases gigantes de código / ativo. Ele não armazena dados duplicados nas máquinas clientes, o que é importante quando sua sub-visualização da árvore é de algumas dezenas de shows.
Dito isto, é dolorosamente óbvio quase diariamente que a Perforce não sente que sua posição no setor esteja ameaçada. Suas ferramentas visuais, incluindo P4V e P4SCC (integram-se ao Visual Studio), são lentas e com erros, sendo que este último congela o congelamento do Visual Studio para sua total diversão. AnkhSVN está milhas à frente do Perforce.
Comentário de xan: No entanto, vale a pena notar que a ferramenta de mesclagem deles, o P4Merge (usada para difusão e mesclagem), é excelente e muito superior aos do Tortoise Merge. Surpreendentemente, esse componente está disponível gratuitamente como parte do pacote P4 Visual Tools.
Comentário por slicedlime: Outra desvantagem do Perforce é que a ramificação nele tende a ser uma dor enorme, especialmente se você tiver árvores grandes. Quase todos os outros vcs são melhores em ramificação e fusão. Geralmente, esse é um preço pequeno a pagar pelas vantagens acima.
Comentário de roe: O Perforce é extremamente falador. Não há muita coisa acontecendo sem o servidor envolvido. O mais importante é que você precisa do servidor para poder abrir para edição, o que significa que você precisa passar por alguns obstáculos caso pretenda interromper a conexão com o servidor.
Comentário de jrista: Como usuário diário do Perforce há mais de dois anos, com uma equipe de engenharia de desenvolvimento e qualidade de mais de 100 pessoas, me familiarizei intimamente com ele. Embora seja um sistema de controle de origem decente, ele tem suas desvantagens de que aqueles que avaliam sistemas SCC devem estar cientes de:
- Como mencionado por outros, ramificar / integrar é particularmente complicado e difícil de fazer. Você tem uma quantidade ímpia de controle, mas isso custa à complexidade excessiva. Por outro lado, a ferramenta de mesclagem visual é única e apresenta uma bela exibição de mesclagem "baseada" em três arquivos do seu trabalho. O Perforce fornece algumas visualizações gráficas dos caminhos das ramificações (chamado de gráfico de revisão), no entanto, a maneira como é visualizada geralmente torna a ferramenta bastante inútil. Se você precisar apenas ver um segmento muito pequeno de tempo para um ou muito poucos arquivos, poderá ser útil ... qualquer coisa mais, e é quase impossível navegar no Gráfico de Revisão.
- O Perforce também não é uma ferramenta muito eficiente, pois quase qualquer operação de arquivo requer duplicação de arquivos e dados: ramificação, rotulagem, lista de alterações etc. Não há marcação ou ramificação esparsa ou leve aqui. Se você não tem medo de usar uma quantidade enorme de espaço em disco para rastrear suas alterações, o forforce provavelmente o ajudará. Caso contrário, eu procuraria outra ferramenta.
- O Perforce faz uso de áreas de trabalho, no entanto, às vezes, isso pode ser frustrante, pois o cache forçado em todo o estado da área de trabalho, em vez de usar os arquivos reais no disco para determinar algum estado. Isso geralmente faz com que os arquivos não sejam sincronizados porque sua área de trabalho diz que eles estão atualizados, quando, por qualquer motivo, os arquivos físicos no disco NÃO estiverem atualizados.
- Um aborrecimento final, o Perforce é bastante brutal na sua rede. É um programa extremamente falador e consome uma quantidade considerável de largura de banda. Qualquer perda de conectividade de rede e você corre o alto risco de não conseguir trabalhar com seus arquivos controlados por fonte até que a conectividade seja restaurada. Até o momento, ainda não descobri uma atividade que possa ser realizada off-line no Perforce.