Quais são os benefícios de usar Perforce em vez de Subversion?
17 answers
- O P4 mantém o registo da sua cópia de trabalho no servidor. Isto significa que
- 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.
- 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.
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.
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.
Ou é uma grande alternativa à SVN quando se trabalha com uma grande equipa.
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?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 SymantecAlguns 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!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.
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.
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.
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.
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
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:Pois FOSS TortoiseSVN é fantástico! (Mesmo que a coisa do ícone funcionou um pouco cabra e diferente em cada máquina..)
- O Explorer shell extension client (think TortoiseSVN) suga e é completamente inutilizável.
Com TortoiseSVN você:
- pode reorganizar as funções
- Para trazer a fechadura.."frente, por exemplo
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.
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