Quais são os benefícios de usar Perforce em vez de Subversion?

A minha equipa usa SVN há alguns anos. Temos agora a opção de mudar para Perforce.

Quais seriam os benefícios (e as armadilhas) de fazer tal mudança?

Author: jfm3, 2008-10-01

17 answers

  • O P4 mantém o registo da sua cópia de trabalho no servidor. Isto significa que
    1. as grandes cópias de trabalho são processadas muito mais rapidamente. Eu costumava ter um grande projeto SVN e uma simples atualização levou 15 minutos porque ele teve que criar uma árvore da cópia de trabalho local (milhares de pastas). O acesso aos ficheiros é lento. A P4 armazena as informações sobre a cópia de trabalho no banco de dados, de modo que todas as operações foram sempre quase instantâneas.
    2. Se mexeres com os teus ficheiros e não disseres o servidor, estás em apuros! Você não pode simplesmente apagar um arquivo-você tem que excluir um arquivo com o cliente P4 para que o servidor saiba. Note que se você excluir localmente um arquivo, ele não será baixado novamente em sucessivas atualizações porque o servidor acha que você já o tem! Quando muito disso aconteceu e eu acabei loucamente fora de sincronia, eu geralmente tinha que recorrer para limpar a minha cópia local e baixá-la novamente, o que poderia ser demorado. Tens de ter cuidado. presente.
  • O Explorer shell extension client (think TortoiseSVN) é uma porcaria e é completamente inutilizável.
  • Existem duas aplicações cliente GUI que oferecem a melhor funcionalidade: P4Win e P4V, das quais P4V é mais recente e mais fácil de usar, mas não como rico em recursos.
  • {[[2]} Há Visual Studio e Eclipse plug-ins, que funcionam relativamente bem, embora eles não têm muitas características avançadas.
  • de um modo geral, P4 oferece muito menos características do que SVN e é às vezes é muito confuso.
  • as definições das cópias de trabalho eram simpáticas e flexíveis. Eu acredito que P4 é superior ao SVN aqui: você pode definir Máscaras para pastas de cópia de trabalho e criar todos os tipos de árvores bizarras, então você baixar apenas o que você quer exatamente onde você quer, sem ter que futz manualmente com vários checkouts. Isto deu muito jeito Quando eu tinha gigabytes de coisas no servidor e só queria um subconjunto específico dele. Eu usei SVN em uma situação semelhante com muito mais problema.
  • ramificar sob P4 is... impar. Ramificações e diferentes tipos de ramificações e UI confusas. Infelizmente, não me lembro de muitos pormenores a este respeito.
Tirando isso, é bastante normal. Recomendo que fiques com a SVN a menos que lides com grandes codebases ou odeies .pastas svn a destruir o seu sistema de ficheiros. SVN+TortoiseSVN é muito mais confortável para a maioria das situações.
 49
Author: Sander, 2008-10-01 13:05:34

Actualmente, uso ambos em diferentes projectos.

  • o mecanismo de ramificação por perfuração é superior.
  • a ferramenta de resolução de conflitos é melhor.
  • Gosto muito da forte noção do perforce de changelist. Parece mais rápido. É mais fácil montar e correr.
  • Alguns dos nossos Membros realmente gostam do plugin MS Office para perforce, eu estou em um Mac então eu não posso usá-lo.

Mas

    Os clientes da SVN são melhores., especialmente o plugin eclipse. Perforce é mais caro.
Estas são apenas opiniões, por isso talvez esta seja uma má resposta: Se já estivesse a usar um ou outro, seria muito difícil mudar, pois nenhum deles parece oferecer benefícios significativos em relação ao outro, mas a interrupção na mudança pode ser grande.

Actualização: desde que escrevi isto, mudei completamente para usar o GIT para fins pessoais e comerciais. Eu escolheria. sobre a SVN ou Perforce em qualquer dia.

 43
Author: Marc Hughes, 2011-08-26 19:44:42
A sua equipa avaliou o Git? Possui características análogas às disponíveis no Perforce, mas é livre (FOSS).

Ou é uma grande alternativa à SVN quando se trabalha com uma grande equipa.

 13
Author: Douglas F Shearer, 2008-10-01 13:33:44

Uso perforce no trabalho, svn em casa.

A GUI perforce é muito boa, mas só quando te habituares. Ele definitivamente tem uma curva de aprendizagem, quando não programadores começam a usar perforce geralmente leva algum tempo até que eles obtenham os conceitos.

A Tartaruga é fantástica, é muito fácil de usar. A minha esposa advogada subversiona todos os documentos que a usam;) [[2]} A ramificação é fácil em perforce. Na verdade, é tão fácil, que as pessoas se ramificam sem muita razão. Então você se integra porque ramificaste. Pode facilmente tornar-se a única coisa que fazes.

A Svn está integrada em mais produtos. Pelo menos mais produtos que eu uso. É uma grande vantagem, porque se você tem que usar either externo ao seu ambiente de desenvolvimento, ambos ficam desajeitados.

De vez em quando temos problemas com o perforce, onde ele pensa que as suas cópias locais estão atualizadas, mas não estão. Então você tem que forçar synce, então se ainda não é bom, apagar seus arquivos locais e resync. Nunca tive tais problemas com a svn. Este é realmente um grande problema como você nem sabe que você está trabalhando em uma cópia antiga. Outra coisa em que pensar é porque queres mudar. Se você tem um sistema que funciona e todos estão familiarizados com ele e felizes com ele, por que substituí-lo?
 5
Author: lajos, 2008-10-01 15:11:48
No site da Perforce, eles têm um artigo que compara os dois.: P4 vs SVN Obviamente, dada a fonte, você tem que perceber que ela enfatiza as vantagens da Perforce sobre a SVN, mas ainda é uma leitura útil. Nunca se sabe, um dos benefícios pode muito bem ser o item assassino de que a sua equipa pode beneficiar dadas as suas próprias circunstâncias únicas. Eu certamente recomendaria Perforce por uma série de razões já cobertas em outras respostas, mas eu não estou em uma posição para oferecer uma comparação com SVN nunca tendo realmente usado.
 5
Author: Greg Whitfield, 2013-02-27 00:13:22
Ramificações adequadas e fazer ramos parte do espaço de nomes são os maiores benefícios que vejo no Perforce. Fundir é fácil. Não vejo nenhuma desvantagem em afastar-me da subversão.
 4
Author: janm, 2008-10-01 13:01:14

Você pode editar coisas offline em Perforce se quiser. Seu worksapce define se os arquivos são lidos somente ou graváveis, de modo que você pode torná-los todos graváveis, hackear e, em seguida, pedir Perforce para descobrir o que precisa ser verificado.

É melhor ter arquivos lidos apenas e confira o que você precisa para que outros (e você mesmo) saibam o que você tem feito/está fazendo.

O melhor sistema para si depende de quais são as suas necessidades, se não tiver necessidades, então Perforce. Vitoria.

Quem usa o Subversion? Pequenas equipas não comerciais Equipas comerciais baratas ou pequenas Quem usa Perforce? O Sony A nVidia Symantec
 3
Author: , 2008-10-30 11:39:10
Usei a SVN, não muito, só para experimentar. Usei Perforce durante três anos. Achei óptimo. O serviço de atendimento ao cliente FOI brilhante, muito rápido para resolver um problema que err acabou por ser apenas eu sendo idiota, e eles até implementaram um recurso que eu sugeri.

Alguns outros desenvolvedores e especialmente não desenvolvedores que tiveram que usá-lo acharam um pouco complicado de aprender a usar, especialmente quando se tratava de definir um cliente-spec (um mapa de pastas no servidor para local pasta).

Eu achei que era muito rápido para obter arquivos dentro e fora, e para ser muito confiável. Acho que a maioria dos promotores com quem trabalhei gostava muito quando nos habituámos. Estávamos a usar a fonte Visual segura antes de trocarmos, por isso, qualquer coisa é melhor do que isso. Desvantagens, custa dinheiro. Eu acredito que SVN é muito bom sistema, como SVN é livre, eu pensaria que você teria que ter uma razão convincente para mudar especialmente como Perforce faz exame de um tempo para aprender. Se SVN está fazendo o trabalho por você, e você não tem nenhuma reclamação sobre isso, eu sugiro que você fique com ele, e economizar o dinheiro para um dia chuvoso!
 2
Author: Scott Langham, 2008-10-01 13:08:35

Eu usei ambos, e na minha experiência Perforce faz muito sentido se você tem uma grande equipe e / ou codebase; caso contrário eu escolheria SVN - é mais fácil de configurar e manter.

 2
Author: Nemanja Trifunovic, 2008-10-01 13:20:57

A partir de versões recentes, o Perforce tem uma nova característica para estantes alterações:

Arquivamento é o processo de armazenamento temporário de trabalho em progresso em um servidor Perforce sem submeter um changelist. Prateleiras é útil quando você precisa executar várias tarefas de desenvolvimento (tais como interrupções de prioridade superior do trabalho, testes em várias plataformas) no mesmo conjunto de arquivos, ou de compartilhamento de arquivos para revisão de código antes de cometer o seu trabalho para o deposito.
Isto é analagous para o modelo de ramificação do git, que lhe permite mudar sem esforço de um ramo local para outro quando precisa de várias tarefas.

AFAIK, Subversion não tem nenhuma característica semelhante.

Mais informações no Blog Perforce .

 2
Author: matt b, 2010-04-09 15:02:24
Se bem me lembro, a licença de Perforce reduz os custos à medida que o número de lugares aumenta. Não são exactamente 900 dólares por assento. É também uma licença baseada em servidor; você paga para o número total de desenvolvedores humanos usando-o, não por cliente de máquina usando-o. Então, se você é uma loja de 200 pessoas, a licença de 200 lugares permite que todos usem perforce, mesmo de casa.
 1
Author: Epu, 2008-11-21 06:31:47

Na minha opinião Razão#1 para seleccionar entre SVN e Perforce é Custo .

repositórios pequenos: A SVN faz o seu trabalho de graça.

repositórios Big : é fatal usar SVN: http://yoawsconsult.blogspot.com/2009/05/whenwhy-you-cant-afford-to-use.html Perforce pode fazer repositórios grandes, mas você tem que pagar por ele e para conhecê-lo.

 1
Author: user574894, 2011-01-13 21:39:18
O Perforce permite ao servidor possuir o cliente.

Um servidor Perforce pode ler e escrever ficheiros arbitrários no cliente, executando assim um código arbitrário. a configuração Perforce é do lado do servidor, por isso o servidor pode simplesmente tratar todo o disco rígido do computador dos clientes como um repositório, e fazer o que ele quisesse.

Nunca executar Perforce excepto numa caixa de areia SELinux.

Lembre-se: o cliente Perforce é do servidor fantoche. você deve usar os recursos de segurança do sistema operacional para evitar que ele faça algo que você não quer que ele faça. Trata sempre o cliente Perforce como hostil.

 1
Author: Demi, 2014-12-20 05:29:52

Da minha prática:

  • Perforce projetado para armazenar também arquivos blob enormes (como distribuições de software), svn armazenar todos os seus dados como texto. É impossível armazenar tais dados binários de forma eficaz no svn

  • Apoio perfeitamente a coisa completa como"shelve changes". O usuário pediu à perforce para armazenar a mudança como um" patch " no servidor perforce. Outros usuários então podem rever as alterações se o autor as pediu. O Svn não o suporta.

  • Linha de comandos Svn o formato é mais fácil de entender e lembrar e para uso diário

  • Svn é livre

  • Em" git "e em" svn " você editar você muda diretamente através da edição de arquivos no sistema de arquivos local após receber arquivos de repo. Em, necessariamente, de "o direito" a forma de trabalhar com arquivos é marcada a eles que você está indo para o trabalho com eles (p4 editar)....Em teoria, outra caras vão estar disponíveis para ver, na prática, não é confortável

  • Preparação do espaço de trabalho do cliente Perforce no seu sistema local precisa de mais tempo do que o svn devido à configuração extra que deve ser feito

 1
Author: bruziuz, 2016-05-11 13:26:31
Ser capaz de fazer tudo desde o exlorer até TortoiseSVN sente-se muito confortável! Assim, há até uma extensão P4 instalada. Mas não é assim tão sofisticado!

Por outro lado, o cliente P4 oferece uma vista acessível no repositório do servidor para que se possa trabalhar sem um check-out completo. Isto sempre me pareceu um pouco complicado nos dias da SVN apenas com a TSVN.

Dizendo isto, não consigo entender o comentário dos cartazes:
  • O Explorer shell extension client (think TortoiseSVN) suga e é completamente inutilizável.
Pois FOSS TortoiseSVN é fantástico! (Mesmo que a coisa do ícone funcionou um pouco cabra e diferente em cada máquina..)

Com TortoiseSVN você:

  • pode reorganizar as funções
      Para trazer a fechadura.."frente, por exemplo
  • têm acesso a todas as funções do explorer
  • tem ícones no menu da linha de comandos
  • são notificada sobre as actualizações
  •  0
    Author: ewerybody, 2013-02-25 14:58:44

    Uma desvantagem do perforce contra a sub-versão é o comando de exportação no svn. É mais fácil exportar ou baixar o código de alguma versão para qualquer lugar. você não precisa criar espaço de trabalho para isso. Mas em perforce você pode obter o código versão-ed apenas para o seu espaço de trabalho.

     0
    Author: shreyas_patel21, 2015-02-27 06:07:31

    O principal benefício de utilizarsubversion Sobre Perforce é, na minha opiniãoa capacidade de editar as coisas fora de linha e simultaneamente com os seus colegas.

    Se a infra-estrutura de dados estiver frouxamente ligada( há tempo fora de linha), a svn rocks. Você pode fazer muito mesmo se o servidor não seria acessível. Perforce essencialmente requer uma conexão de servidor sempre disponível.

    AVISO: A minha informação sobre o Perforce é antiga, usou-a durante algum tempo, em 2005-06, antes de completamente mudar para svn

     -3
    Author: akauppi, 2008-10-01 13:40:15