O Perforce é tão bom em se fundir como DVCSs?

5

Ouvi dizer que o Perforce é muito bom em mesclar, eu acho que isso tem a ver com isso, ele rastreia mudanças na forma de listas de mudanças, onde você pode adicionar diferenças em vários arquivos em um único golpe. Acho que isso implica que o Perforce reúne mais metadados e, portanto, tem mais informações para fazer uma fusão mais inteligente (pelo menos mais inteligente que o Subversion, sendo o Perforce centralizado).

Como isso é semelhante ao modo como o Mercurial e o Git lidam com mudanças (eu sei que os DVCSs rastreiam conteúdo em vez de arquivos), fiquei me perguntando se alguém sabia quais eram as sutis diferenças que tornam Perforce melhor ou pior que um DVCS como Mercurial ou Git.

    
por dukeofgaming 12.10.2012 / 04:35
fonte

2 respostas

6

Muito bom, especialmente dado a competição perforce (cvs, svn, etc) durante a maior parte da sua vida, mas não, não tão bom quanto Git. Eu não posso falar com hg.

Embora algumas esta estejam fora da base (a prateleira p4 agora é um recurso antigo, não, você pode ' t fazer um dvcs se comportar como um vcs, e parece bobagem bater no p4 para o xcode droping support) os bits escolhidos sobre as dores de cabeça p4 mescladas são precisos.

Eu não acho que exista algo inerente a um sistema de controle de versão distribuído que torne sua fusão naturalmente superior a um sistema centralizado como perforce. Em vez disso, os modelos de dados adotados por muitos dvcs se prestam ao rastreamento superior de ramificação e mesclagem.

Impingir mapeamentos de ramificações? Uma alternativa incômoda aos ponteiros do GIT e abordagem gráfica dirigida.

Uma das principais vantagens do git over perforce - rastrear código por meio de refatoração - não tem nada a ver com o status do git como controle de versão distribuído, mas sim o fato de analisar arquivos e conteúdo como cidadãos de primeira classe. seu modelo de dados. Isso é completamente diferente de forçado , que mantém metadados abrangentes em seu banco de dados em um nível arquivo por arquivo: estado do arquivo, histórico, atributos, listas de alterações, enquanto o conteúdo do arquivo com versão é armazenado separadamente em uma hierarquia do sistema de arquivos.

Por último, e isso pode ser um pouco injusto, mas acho que, se um sistema de controle de versão precisa ter um recurso de bloqueio de arquivo, ele provavelmente não é bom para sua sofisticação de ramificação e mesclagem.

Para um comparação tendenciosa de git vs. perforce (link arquivado). Eu também acho que dizer que necessariamente tem saltado no gitwagon.

    
por 12.10.2012 / 05:43
fonte
2

Depende de como você usa o Perforce. Eu vi a abordagem "todo mundo tem um ramo" e "todo mundo usa o mesmo ramo". Trabalhei como Engenheiro de Lançamentos em uma empresa que costumava usar a abordagem anterior e nunca tive problemas.

    
por 12.10.2012 / 13:40
fonte